CN101976285A - Parametric design method for turbonator key components - Google Patents

Parametric design method for turbonator key components Download PDF

Info

Publication number
CN101976285A
CN101976285A CN 201010519500 CN201010519500A CN101976285A CN 101976285 A CN101976285 A CN 101976285A CN 201010519500 CN201010519500 CN 201010519500 CN 201010519500 A CN201010519500 A CN 201010519500A CN 101976285 A CN101976285 A CN 101976285A
Authority
CN
China
Prior art keywords
point
constraint
module
tag
solid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 201010519500
Other languages
Chinese (zh)
Inventor
林琳
晁伟
王艳秋
高侃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN 201010519500 priority Critical patent/CN101976285A/en
Publication of CN101976285A publication Critical patent/CN101976285A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Developing Agents For Electrophotography (AREA)

Abstract

The invention discloses a parametric design method for turbonator key components. The method comprises the following steps: 1. division of the basic structure of coils: dividing modules with geometrical interchangeability and stable geometrical structure in the coils in a modularization thinking into basic modules, general modules and special modules; 2. object-oriented geometrical structure modeling: describing the categories of the divided geometrical modules; and 3. object-oriented two-dimensional rapid design of components by a geometrical constraint method: solving a constraint model for an engineering drawing by using a constraint solving method based on a graph theory. Compared with other two-dimensional parametric design methods, the object-oriented geometrical constraint method has the advantages of clear structure, few calculation amount and accurate location of geometrical features. When a template provided by the method is used for parameter programming, the program has the advantages of clear design, good encapsulation and high operating efficiency.

Description

The parameterization design method of turbodynamo critical component
Technical field
The present invention relates to a kind of turbodynamo design of key components method.
Background technology
Turbodynamo critical component design feature is many, the restriction relation between geomery, position dimension, feature is complicated, design process is consuming time, error rate is higher, but for the generator of different capacity, the similar height of the characteristic type of its parts, the cluster characteristic is obvious, is fit to carry out parametric modeling.With the steam turbo-generator rotor coil is example, coil design generally is divided into eight circle coils, every circle coil mainly is divided into: straight line portion, corner, encourage end arc portion, vapour end arc portion, counterweight line, interpolar connecting line and form, be distributed with the ventilation slot of multiple shape on each coil in every circle coil, pilot hole since every circle coil to comprise quantity many, and the shape of ventilation slot on each coil and pilot hole and position are all inequality, repeated workload is big, but becomes stack features obvious.
In recent ten years, the CAD 3D modeling software has become the main flow software that modern enterprise carries out product design, the digitization modeling of product and emulation technology developed comparative maturity.But some problem is never solved well aspect parametric modeling.Existing parameterization design method generally adopts based on the geometrical constraint method, but this method is all used unified model with the constraint between basic geometric properties, can adapt to constraint in a big way, but the efficient of finding the solution is low, the geometric intuition of processing procedure is poor, the stability of solution by iterative method is also poor, and the result who chooses finding the solution of the initial value of iteration and step-length has a significant impact.Model is complicated more, constraint is many more, and the scale of equation of constraint group is just big more, is difficult for more finding the solution.
Summary of the invention
The objective of the invention is generally to adopt based on the geometrical constraint method for solving existing parameterization design method, but this method is all used unified model with the constraint between basic geometric properties, can adapt to constraint in a big way, but the efficient of finding the solution is low, the geometric intuition of processing procedure is poor, the stability of solution by iterative method is also poor, and the result who chooses finding the solution of the initial value of iteration and step-length has a significant impact.Model is complicated more, the constraint is many more, and the scale of equation of constraint group is just big more, is difficult for the problem found the solution more, and then a kind of parameterization design method of turbodynamo critical component is provided.
Method step of the present invention is as follows: one, the basic structure of coil is decomposed: with modularization idea the module that has geometry interchangeability and stabilisation geometry in the coil is divided, decomposite basic module, general module and special module three classes; With regard to coil, basic module comprises coil case module and shaft part body; General module comprises: air inlet module and grooved module; Special module comprises: air vent module, small fish tail module, big fish tail module and mirror image hole.Geometry module can further be decomposed, and the straight line end just can be decomposed into A: coil body; O: basic point; B, C: ventilation slot; D, E: four basic modules of air inlet;
Two, OO geometry modeling: the geometry module of having divided is carried out class description, and wherein the description template of each module is:
Class geometric properties body class title
{ solid object oriented;
The external constraint object 1tag of solid;
The external constraint object 2tag of solid;
……
The external constraint object ntag of solid;
CreateGeometry (parameter 1, parameter 2, parameter 3) // establishment self module geometric properties integral body, its topological structure fix
Return:
The external constraint object 1tag of solid;
The external constraint object 2tag of solid;
......
The external constraint object ntag of solid;
}
// // // // // // // // // // // // // // // restriction relation of geometric properties body and other objects created
CreateParallel (external constraint object tag, the external constraint object i of solid tag, parallel distance);
CreatePerpend (external constraint object tag, the external constraint object i of solid tag);
CreateAngle (external constraint object tag, the external constraint object i of solid tag, angle);
RemoveInterLine (); // remove with solid and intersect the retention lines of back in solid inside;
... // other retrain creation method
}
For the straight line end, all modules all are quadrilaterals, and its geometry module is all by realizing tetragonal constraint manipulation.
Three, based on the design fast of the parts of OO geometrical constraint method two dimension: adopt constraint solving method based on graph theory to carry out the finding the solution of restricted model of engineering drawing; Method is by geometrical constraint figure (geometricconstraint graph) expression geometrical constraint figure, if definition figure G=(V E) is a constraints graph element how much, then V represents geometric element set limit, and E represents the constrain set between the geometric element; Method at first becomes geometrical constraint figure with the geometrical constraint system map, begins to carry out the orientedization constraint solving of constraints graph then from basic point, and the key of method is to determine the output order of system point; The starting point of constraint solving is a basic point, and so-called basic point is exactly the geostationary system point in position; When the user added geometrical constraint or carries out modification of dimension, system can be defined as basic point begins to carry out along binding side constraints graph then from basic point orientedization to a certain system point according to user's design idea; Turn to example with straight line end two-dimensional parameter, wherein the A structure is by setting up a some coincidence relation with basic point O, the fixing position of A, and B, C-structure is general to be set up center line with A and overlaps with distance restraint and determine the position; D, the E structure is by setting up angle and determine the position with the distance restraint of A with B and C.
Beneficial effect of the present invention: OO geometrical constraint method of the present invention than other two-dimensional parameter methods for designing have clear in structure, calculated amount is little, and geometric properties accurate positioning.The template that adopts this method to provide is carried out parameter programming, and the program clear thinking, encapsulation property is good, operational efficiency is high.
The present invention has overcome weak point of the prior art and has proposed OO geometrical constraint method, this method has been inherited the full constraint solving thought of conventional geometric leash law, but basic geometric properties lifting wherein is the relatively-stationary geometry of professional domain, and adopt function to encapsulate wherein each kind of constraint type, adopt OO thought to carry out the Butut computing, avoid finding the solution the complicacy of equation of constraint, improved layout efficiency and cloth plot quality.
Description of drawings
Fig. 1 is the steam turbo-generator rotor coil structural representation,
Fig. 2 is a turbodynamo coil body structural representation,
Fig. 3 is a turbodynamo straight line end structural representation,
Fig. 4 is a turbodynamo trench structure structural representation,
Fig. 5 is the structural representation of turbodynamo air vent,
Fig. 6 is the structural representation of the little fish tail of turbodynamo,
Fig. 7 is the structural representation of the big fish tail of turbodynamo,
Fig. 8 is the structural representation in turbodynamo mirror image hole,
Fig. 9 is a turbodynamo coil straight line end two-dimensional engineering graphic,
Figure 10 is a synoptic diagram of creating rectangular body,
Figure 11 is a synoptic diagram of creating the parallelogram body,
Figure 12 is a straight line end structural drawing,
Figure 13 is oriented constraints graph,
Figure 14 is coil large rectangle A drafting figure,
Figure 15 is the little rectangle B of ventilation slot drafting figure,
Figure 16 is that ventilation slot rectangle B and coil rectangle A horizontal center line overlap constraint; Ventilation slot rectangle B and coil rectangle A left side conllinear constraint synoptic diagram,
Figure 17 is ventilation slot rectangle C drafting figure,
Figure 18 is ventilation slot rectangle C and the constraint of body rectangle A horizontal center line conllinear; Ventilation slot rectangle C is parallel with the body rectangle A left side and be the synoptic diagram of 74mm apart from rectangle 1 left side distance,
Figure 19 is a synoptic diagram of creating air inlet parallelogram D,
Figure 20 is air inlet parallelogram D top and body rectangle A top conllinear constraint synoptic diagram,
Figure 21 is the synoptic diagram of the air inlet parallelogram D left side and body rectangle A left side distance restraint L=25.74mm,
Figure 22 is a synoptic diagram of creating air inlet parallelogram E,
Figure 23 is the synoptic diagram of the top limit conllinear constraint of the top limit of air inlet parallelogram E and body rectangle A,
Figure 24 be air inlet parallelogram E apart from the synoptic diagram of body rectangle A left side horizontal translation apart from M=88.26mm,
Figure 25 and Figure 26 are that the left side and the right of air inlet parallelogram D is the top synoptic diagram that ventilation slot rectangle B is pruned on the border,
Figure 27 is that the left side and the right of air inlet parallelogram E is the top synoptic diagram that ventilation slot rectangle B is pruned on the border,
Figure 28 is the horizontal center line of flat shape air inlet quadrilateral D of deletion and E.The vertical center line synoptic diagram of body rectangle A, ventilation slot rectangle B, ventilation slot rectangle C.
Embodiment
The present embodiment preferred implementation is seen Fig. 1~Figure 28, and the method step of present embodiment is as follows:
One, the basic structure of coil is decomposed: with modularization idea the module that has geometry interchangeability and stabilisation geometry in the coil is divided, decomposite basic module, general module and special module three classes; With regard to coil, basic module has the coil case module, shaft part body etc.; General module comprises: air inlet module, grooved module; Special module comprises: air vent module, small fish tail module, big fish tail module and mirror image hole (see Fig. 2~Fig. 8), for the straight line end, its two-dimentional drawing as shown in Figure 9, geometry module also can further be decomposed into A: coil body; O: basic point; B, C: ventilation slot; D, E: four basic modules of air inlet;
Two, OO geometry modeling: the geometry module of having divided is carried out class description, and wherein the description template of each module is:
Class geometric properties body class title
{ solid object oriented;
The external constraint object 1tag of solid;
The external constraint object 2tag of solid;
......
The external constraint object ntag of solid;
CreateGeometry (parameter 1, parameter 2, parameter 3) // establishment self module geometric properties integral body, its topological structure fix
Return:
The external constraint object 1tag of solid;
The external constraint object 2tag of solid;
......
The external constraint object ntag of solid;
}
// // // // // // // // // // // // // // // restriction relation of geometric properties body and other objects created
CreateParallel (external constraint object tag, the external constraint object i of solid tag, parallel distance);
CreatePerpend (external constraint object tag, the external constraint object i of solid tag);
CreateAngle (external constraint object tag, the external constraint object i of solid tag, angle);
RemoveInterLine (); // remove with solid and intersect the retention lines of back in solid inside;
... // other retrain creation method
}
For the whole modeling of module geometric properties because its inner geometry topological structure is stable, a little less than the associativity, mainly be to solidify internal junction contract bundle relation, the expansion of its inside is the change of physical dimension, geometry does not change.But after generating new module geometric configuration, it offers how much signs that other modules retrain mutually and changes, and therefore need return new about beam identification at every turn.The whole location process function of geometry module when each inside modules has been set up and had geometrical-restriction relation with about beam identification is assert the external constraint object for fixing when calculating, promptly only move, the rotation geometry module guarantees restriction relation.The restriction relation function difference of each geometry module can specifically increase and decrease according to the characteristics of parts.
For the straight line end, all modules all are quadrilaterals, so its geometry module is all by realizing that to tetragonal constraint manipulation the code of writing according to template is:
Class Rect//geometry class title is a rectangle
{
The external constrained type structure of struct MyRect // rectangle
{
tag_t?Left;
tag_t?Right;
tag_t?Bom;
tag_t?Top;
Tag_t HC; // horizontal center line
Tag_t VC; // vertical center line
double?Point_A[3];
double?Point_B[3];
double?Point_C[3];
double?Point_D[3];
};
// create rectangular body, with the lower-left angle point, length and width are as input value.The returning to external constraint: on
Limit TOP, following BOM, the left side, Left, the right Right, vertically center line VC and horizontal center line
HC
MyRect?CComDraw::CreateRect(double LeftBomPoint[],double Length,
double?Width)
{
MyRect?RectInfor;
CComDraw?draw;
RectInfor.Point_A[0]=LeftBomPoint[0];
RectInfor.Point_A[1]=LeftBomPoint[1];
RectInfor.Point_A[2]=LeftBomPoint[2];
RectInfor.Point_B[0]=LeftBomPoint[0]+Length;
RectInfor.Point_B[1]=LeftBomPoint[1];
RectInfor.Point_B[2]=LeftBomPoint[2];
RectInfor.Point_C[0]=LeftBomPoint[0]+Length;
RectInfor.Point_C[1]=LeftBomPoint[1]+Width;
RectInfor.Point_C[2]=LeftBomPoint[2];
RectInfor.Point_D[0]=LeftBomPoint[0];
RectInfor.Point_D[1]=LeftBomPoint[1]+Width;
RectInfor.Point_D[2]=LeftBomPoint[2];
RectInfor.Bom=create_line_thru_2p(RectInfor.Point_A,RectInfor.Point_B);
RectInfor.Right=create_line_thru_2p(RectInfor.Point_B,RectInfor.Point_C);
RectInfor.Top=create_line_thru_2p(RectInfor.Point_C,RectInfor.Point_D);
RectInfor.Left=create_line_thru_2p(RectInfor.Point_D,RectInfor.Point_A);
double?temp1[3],temp2[3],temp3[3],temp4[3];
for(int?i=0;i<3;i++)
{
temp1[i]=(RectInfor.Point_A[i]+RectInfor.Point_D[i])/2;
temp2[i]=(RectInfor.Point_B[i]+RectInfor.Point_C[i])/2;
temp3[i]=(RectInfor.Point_A[i]+RectInfor.Point_B[i])/2;
temp4[i]=(RectInfor.Point_C[i]+RectInfor.Point_D[i])/2;
}
RectInfor.HC=create_line_thru_2p(temp1,temp2);
RectInfor.VC=create_line_thru_2p(temp3,temp4);
UF_OBJ_set_font(RectInfor.HC,UF_OBJ_FONT_CENTERLINE);
UF_OBJ_set_font(RectInfor.VC,UF_OBJ_FONT_CENTERLINE);
UF_OBJ_set_font(RectInfor.HC,UF_OBJ_WIDTH_THIN);
UF_OBJ_set?font(RectInfor.VC,UF_OBJ_WIDTH_THIN);
UF_OBJ_set_font(RectInfor.Bom,UF_OBJ_WIDTH_THICK);
UF_OBJ_set_font(RectInfor.Top,UF_OBJ_WIDTH_THICK);
UF_OBJ_set_font(RectInfor.Left,UF_OBJ_WIDTH_THICK);
UF_OBJ_set_font(RectInfor.Right,UF_OBJ_WIDTH_THICK);
return?RectInfor;
}
// create the parallelogram body, with the lower-left angle point, length and width are as input value.Returning to external constraint: top TOP, following BOM, the left side, Left, the right Right, vertically center line VC and horizontal center line HC
MyRect?CComDraw::CreateParalletFour(double?BasePoint[],double?Length,
Double Width, double Angle) // establishment parallelogram body module
{
MyRect?ParallelInfor;
if(Length<=0||Width<=0||Angle<=0||Angle>=180)
{
Input parameter is wrong for AfxMessageBox (", please check parameter.″);
}
Angle=Angle/180*PI;
double?Point_A[3],Point_B[3],Point_C[3],Point_D[3];
Point_A[0]=BasePoint[0];
Point_A[1]=BasePoint[1];
Point_A[2]=BasePoint[2];
Point_B[0]=BasePoint[0]+Length;
Point_B[1]=BasePoint[1];
Point_B[2]=BasePoint[2];
Point_C[0]=Point_B[0]+Width*cos(Angle);
Point_C[1]=Point_B[1]+Width*sin(Angle);
Point_C[2]=Point_B[2];
Point_D[0]=Point_A[0]+Width*cos(Angle);
Point_D[1]=Point_A[1]+Width*sin(Angle);
Point_D[2]=Point_A[2];
for(int?i=0;i<3;i++)
{
ParallelInfor.Point_A[i]=Point_A[i];
ParallelInfor.Point_B[i]=Point_B[i];
ParallelInfor.Point_C[i]=Point_C[i];
ParallelInfor.Point_D[i]=Point_D[i];
}
ParallelInfor.Bom=create_line_thru_2p(ParallelInfor.Point_A,ParallelInfor.P
oint_B);
ParallelInfor.Right=create_line_thru_2p(ParallelInfor.Point_B,ParallelInfor.
Point_C);
ParallelInfor.Top=create_line_thru_2p(ParallelInfor.Point_C,ParallelInfor.P
oint_D);
ParallelInfor.Left=create_line_thru_2p(ParallelInfor.Point_D,ParallelInfor.P
oint_A);
double?temp1[3],temp2[3],temp3[3],temp4[3];
for(i=0;i<3;i++)
{
temp1[i]=(ParallelInfor.Point_A[i]+ParallelInfor.Point_D[i])/2;
temp2[i]=(ParallelInfor.Point_B[i]+ParallelInfor.Point_C[i])/2;
temp3[i]=(ParallelInfor.Point_A[i]+ParallelInfor.Point_B[i])/2;
temp4[i]=(ParallelInfor.Point_C[i]+ParallelInfor.Point_D[i])/2;
}
ParallelInfor.HC=create_line_thru_2p(temp1,temp2);
ParallelInfor.VC=create_line_thru_2p(temp3,temp4);
UF_OBJ_set_font(ParallelInfor.HC,UF_OBJ_FONT_CENTERLINE);
UF_OBJ_set_font(ParallelInfor.VC,UF_OBJ_FONT_CENTERLINE);
UF_OBJ_set_font(ParallelInfor.HC,UF_OBJ_WIDTH_THIN);
UF_OBJ_set_font(ParallelInfor.VC,UF_OBJ_WIDTH_THIN);
UF_OBJ_set_font(ParallelInfor.Bom,UF_OBJ_WIDTH_THICK);
UF_OBJ_set_font(ParallelInfor.Top,UF_OBJ_WIDTH_THICK);
UF_OBJ_set_font(ParallelInfor.Left,UF_OBJ_WIDTH_THICK);
UF_OBJ_set_font(ParallelInfor.Right,UF_OBJ_WIDTH_THICK);
return?ParallelInfor;}
Bool CComDraw::Trans (double x, double y, MyRect Obj) // quadrilateral is carried out translation
{
int?error=0;
/ *------------------------the deletion model parameter----------------------------------*/
uf_list_p_t?object_list;
UF_MODL_create_list(&object_list);
UF_MODL_put_list_item(object_list,Obj.Left);
UF_MODL_put_list_item(object_list,Obj.Right);
UF_MODL_put_list_item(object_list,Obj.Bom);
UF_MODL_put_list_item(object_list,Obj.Top);
UF_MODL_put_list_item(object_list,Obj.HC);
UF_MODL_put_list_item(object_list,Obj.VC);
Error=UF_CALL (UF_MODL_delete_object_parms (object_list)); // deletion model parameter.
if(error)
{
The failure of AfxMessageBox (" deletion model parameter.″);
return?false;
}
/ *------------------------translation transformation------------------------------------*/
double?translation[3]={0,0,0};
double?rp2[16];
translation[0]=x;
translation[1]=y;
translation[2]=0;
uf5943(translation,rp2);
////////////////////////////////////////////////////////
int?EdgeNum=0;
UF_MODL_ask_list_count(object_list,&EdgeNum);
int?move_or_copy=1;
int?dest_layer=-1;//work?layer
int?trace_curves=2;
tag_t trace_curve_group;
int?status1=1;
int?n_objects=EdgeNum;
tag_t*objects=new?tag_t[n_objects];
tag_t*copies=new?tag_t[n_objects];
for(int?k=0;k<EdgeNum;k++)
{
tag_t?temp;
UF_MODL_ask_list_item(object_list,k,&temp);
*(objects+k)=temp;
}
uf5947(rp2,objects,&n_objects,&move_or?copy,&dest_layer,&trace_curves,cop
ies,&trace_curve_group,&status1);
if(status1)
{
AfxMessageBox (" translation failure.″);
return?false;
}
//////////////////////////////////////////////////////////////
///////
return?true;
}
tag_t?CComDraw::CreateTrimHaveTwoBound(tag_t&tag_line_needTrim,tag_t
Tag_bound[], int InOrOut) // quadrilateral inside lines are pruned
{
int?type=1;
// first parameter is tag_t number of the straight line that will be pruned
// the second parameter is the border tag_t number, and must be continuous tag_t array
The inside is repaiied in // the three parameter control, still repaiies outside 0 or 1
// note up and down two boundary lines must be straight line
int?tempback=BLACK;
Int tempThinLineLayer=THINLINERLAYER; // fine line place layer temporary variable be set
Int tempThickLineLayer=THICKLINELAYER; // heavy line place layer temporary variable be set
Int tempNormalLayer=NORMALLINELAYER; // general solid line place layer temporary variable be set
Int tempCenterLineLayer=CENTERLINELAYER; // center line place layer temporary variable be set
Int tempDashedLineLayer=DASHEDLINELAYER; // dotted line place layer temporary variable be set
UF_CALL(UF_LAYER_set_status
(tempThinLineLayer, UF_LAYER_ACTIVE_LAYER)); // layer state is set
UF_CALL(UF_LAYER_set_status
(tempThickLineLayer, UF_LAYER_ACTIVE_LAYER)); // layer state is set
UF_CALL(UF_LAYER_set_status
(tempCenterLineLayer, UF_LAYER_ACTIVE_LAYER)); // layer state is set
UF_CALL(UF_LAYER_set_status
(tempDashedLineLayer, UF_LAYER_ACTIVE_LAYER)); // layer state is set
UF_CALL(UF_LAYER_set_status
(tempNormalLayer, UF_LAYER_WORK_LAYER)); // layer state is set
int?trim_string[1],trim_dir[1],bound_string[1],bound_dir[1];
tag_t?trim_curve_feat;
UF_CURVE_trim_t?trim_curve_info;
UF_CURVE_trim_mult_t?out_info;
//------------------create and prune curve---------------------//
/*
Fill?in?arrays?to?be?used?in?string?definition.
*/
trim_string[0]=1;trim_dir[0]=1;
/*
Fill?in?trim?curve?structure?information?to?trim?the?first?line
to?the?second?line?as?a?bounding?string.
*/
Trim_curve_info.string_to_trim.num=1; // identical with trim_string array member number
trim_curve_info.string_to_trim.string=trim_string;
trim_curve_info.string_to_trim.dir=trim_dir;
trim_curve_info.string_to_trim.id=&tag_line_needTrim;
trim_curve_info.spline_extend_opt=UF_CURVE_EXTEND_NONE;
Trim_curve_info.trim_type=UF_CURVE_TRIM_TO_TWO_BOUND; // this
Individual place will be noted
UF_MODL_ask_distance_tolerance(&trim_curve_info.tolerances[0]);
UF_MODL_ask_angle_tolerance(&trim_curve_info.tolerances[1]);
/*
Fill?in?arrays?to?be?used?in?bound?definition.
*/
bound_string[0]=1;bound_dir[0]=1;
/*
Fill?in?bounding?information.
*/
trim_curve_info.trim_to.two_bound.string_extend_end =
UF_CURVE_TRIM_EXTEND_END;
switch(InOrOut)
{
Case 0: // inside staying
{
trim_curve_info.trim_to.two_bound.string_trim_option =
UF_CURVE_TRIM_OUTSIDE;
break;
}
Case 1: // outside staying
{
trim_curve_info.trim_to.two_bound.string_trim_option =
UF_CURVE_TRIM_INSIDE;
break;
}
}
trim_curve_info.trim_to.two_bound.bound1.string.num=1;
trim_curve_info.trim_to.two_bound.bound1.string.string=bound_string;
trim_curve_info.trim_to.two_bound.bound1.string.dir=bound_dir;
trim_curve_info.trim_to.two_bound.bound1.string.id=&tag_bound[0];
trim_curve_info.trim_to.two_bound.bound2.string.id=&tag_bound[1];
trim_curve_info.trim_to.two_bound.bound1.use_suggested=FALSE;
trim_curve_info.trim_to.two_bound.bound1.object=NULL_TAG;
trim_curve_info.trim_to.two_bound.bound2.string.num=1;
trim_curve_info.trim_to.two_bound.bound2.string.string=bound_string;
trim_curve_info.trim_to.two_bound.bound2.string.dir=bound_dir;
trim_curve_info.trim_to.two_bound.bound2.use_suggested=FALSE;
trim_curve_info.trim_to.two_bound.bound2.object=NULL_TAG;
trim_curve_info.trim_to.two_bound.bound2.use_suggested=FALSE;
trim_curve_info.trim_to.two_bound.view=(UF_MODL_vector_p_t)(void
*)0;
trim_curve_info.trim_to.two_bound.trim_bound=FALSE;
// create again and prune
UF_CALL(UF_CURVE_create_trim(&trim_curve_info,&out_info,
&trim_curve_feat));
//UF_OBJ_delete_object (tag_line_needTrim); // former line deletion
UF_OBJ_set_layer (tag_line_needTrim, 200); // the place layer is set
UF_CALL(UF_LAYER_set_status
(200, UF_LAYER_INACTIVE_LAYER)); // layer state is set
tag_t?tag_line_trimed;
UF_CALL(UF_CURVE_ask_line_arc_output(trim_curve_feat,&
tag_line_trimed));
int?number;
tag_t*object=new?tag_t[5];
UF_MODL_ask_feat_object(trim_curve_feat,&number,&object);
return?object[0];
}
MyRect CComDraw::UpDate (MyRect Object) // after retraining is to how much of reposition
The feature body refreshes
{
UF_CURVE_line_t?line_coords;
UF_CURVE_ask_line_data(Object.Bom,&line_coords);
if(line_coords.start_point[0]>=line_coords.end_point[0])
{
Object.Point_A[0]=line_coords.end_point[0];
Object.Point_A[1]=line_coords.end_point[1];
Object.Point_A[2]=line_coords.end_point[2];
Object.Point_B[0]=line_coords.start_point[0];
Object.Point_B[1]=line_coords.start_point[1];
Object.Point_B[2]=line_coords.start_point[2];
}
UF_CURVE_ask_line_data(Object.Top,&line_coords);
if(line_coords.start_point[0]>=line_coords.end_point[0])
{
Object.Point_D[0]=line_coords.end_point[0];
Object.Point_D[1]=line_coords.end_point[1];
Object.Point_D[2]=line_coords.end_point[2];
Object.Point_C[0]=line_coords.start_point[0];
Object.Point_C[1]=line_coords.start_point[1];
Object.Point_C[2]=line_coords.start_point[2];
}
return?Object;
}
bool CComDraw::PointtoPointTransLet(tag_t Edge[],int EdgeNum,double
StartPoint[], double EndPoint[]) // anchor point coincidence constraint
{
int?error=0;
/ *------------------------the deletion model parameter------------------------------*/
uf_list_p_t?object_list;
UF_MODL_create_list(&object_list);
for(int?k=0;k<EdgeNum;k++)
{
UF_MODL_put_list_item(object_list,Edge[k]);
}
Error=UF_CALL (UF_MODL_delete_object_parms (object_list)); // deletion model
Parameter.
if(error)
{
return?false;
}
/ *------------------------translation transformation---------------------------------------*/
double?translation[3];
double?rp2[16];
translation[0]=EndPoint[0]-StartPoint[0];
translation[1]=EndPoint[1]-StartPoint[1];
translation[2]=EndPoint[2]-StartPoint[2];
uf5943(translation,rp2);
//////////////////////////////////////////////////////////////
int?move_or_copy=1;
int?dest_layer=-1;//work?layer
int?trace_curves=2;
tag_t?trace_curve_group;
int?status1=1;
int?n_objects=EdgeNum;
tag_t*objects=new?tag_t[n_objects];
tag_t*copies=new?tag_t[n_objects];
for(k=0;k<EdgeNum;k++)
{
*(obj?ects+k)=Edge[k];
}
uf5947(rp2,objects,&n_objects,&move_or_copy,&dest_layer,&trace_curves,cop
ies,&trace_curve_group,&status1);
if(status1)
{
AfxMessageBox (" translation failure.″);
return?false;
}
/////////////////////////////////////////////////////////////////////////////////////////
///////
return?true;
}
bool?CComDraw::ParallelEdgetoEdgeDistanceLet(MyRect?rect1,CString?edge1,
MyRect rect2, CString edge2, double Distance) // parallel and distance restraint
{
int?error=0;
/ *------------------------the deletion model parameter----------------------------------*/
uf_list_p_t?object_list;
UF_MODL_create_list(&object_list);
UF_MODL_put_list_item(object_list,rect2.Left);
UF_MODL_put_list_item(object_list,rect2.Right);
UF_MODL_put_list_item(object_list,rect2.Bom);
UF_MODL_put_list_item(object_list,rect2.Top);
UF_MODL_put_list_item(object_list,rect2.HC);
UF_MODL_put_list_item(object_list,rect2.VC);
Error=UF_CALL (UF_MODL_delete_object_parms (object_list)); // deletion model parameter.
if(error)
{
The failure of AfxMessageBox (" deletion model parameter.″);
return?false;
}
/ *------------------------translation transformation---------------------------------------*/
double?translation[3]={0,0,0};
double?rp2[16];
int?id=0;
id=((strcmp(edge1,″Top″)==0||strcmp(edge1,″Bom″)==0
||strcmp(edge1,″HC″)==0)&&(strcmp(edge2,″Top″)==0||
strcmp(edge2,″Bom″)==0||strcmp(edge2,″HC″)==0))
||((strcmp(edge?1,″Left″)==0||strcmp(edge?1,″Right″)==0||
strcmp(edge1,″VC″)==0)&&(strcmp(edge2,″Left″)=0||
strcmp(edge2,″Right″)==0||strcmp(edge2,″VC″)==0));
if(id==0)
{
The limit that AfxMessageBox (" selects is not parallel, please from reselecting.″);
return?false;
}
else
{
if((strcmp(edge1,″Left″)==0||strcmp(edge1,″Right″)==0||
strcmp(edge1,″VC″)==0)&&(strcmp(edge2,″Left″)==0||
strcmp(edge2,″Right″)==0||strcmp(edge2,″VC″)==0))
{
double?S,E;
////////////////////////////////////////////////////////////
if(strcmp(edge?1,″Left″)==0)
{
S=rect1.Point_A[0];
}
if(strcmp(edge1,″Right″)==0)
{
S=rect1.Point_B[0];
}
if(strcmp(edge1,″VC″)==0)
{
S=(rect1.Point_A[0]+rect1.Point_B[0])/2;
}
///////////////////////////////////////////////////////////////
if(strcmp(edge2,″Left″)==0)
{
E=rect2.Point_A[0];
}
if(strcmp(edge2,″Right″)==0)
{
E=rect2.Point_B[0];
}
if(strcmp(edge2,″VC″)==0)
{
E=(rect2.Point_A[0]+rect2.Point_B[0])/2;
}
//////////////////////////////////////////////////////////////
if(E>=S)
{
translation[0]=S-E+Distance;
translation[1]=0;
translation[2]=0;
}
else
{
translation[0]=S-E-Distance;
translation[1]=0;
translation[2]=0;
}
}
if((strcmp(edge1,″Top″)==0||strcmp(edge1,″Bom″)==0
||strcmp(edge1,″HC″)==0)&&(strcmp(edge2,″Top″)==0||
strcmp(edge2,″Bom″)==0||strcmp(edge2,″HC″)==0))
{
double?S=0,E=0;
if(strcmp(edge1,″Top″)==0)
{
S=rect1.Point_D[1];
}
if(strcmp(edge1,″Bom″)==0)
{
S=rect1.Point_A[1];
}
if(strcmp(edge1,″HC″)==0)
{
S=(rect1.Point_A[1]+rect1.Point_D[1])/2;
}
/////////////////////////////////////////////////////////
if(strcmp(edge2,″Top″)==0)
{
E=rect2.Point_D[1];
}
if(strcmp(edge2,″Bom″)==0)
{
E=rect2.Point_A[1];
}
if(strcmp(edge2,″HC″)==0)
{
E=(rect2.Point_A[1]+rect2.Point_D[1])/2;
}
///////////////////////////////////////////////////////////
if(E>=S)
{
translation[0]=0;
translation[1]=S-E+Distance;
translation[2]=0;
}
else
{
translation[0]=0;
translation[1]=S-E-Distance;
translation[2]=0;
}
}
}
uf5943(translation,rp2);
////////////////////////////////////////////////////////
int?EdgeNum=0;
UF_MODL_ask_list_count(object_list,&EdgeNum);
int?move_or_copy=1;
int?dest_layer=-1;//work?layer
int?trace_curves=2;
tag_t?trace_curve_group;
int?status1=1;
int?n_objects=EdgeNum;
tag_t*objects=new?tag_t[n_objects];
tag_t*copies=new?tag_t[n_objects];
for(int?k=0;k<EdgeNum;k++)
{
tag_t?temp;
UF_MODL_ask_list_item(object_list,k,&temp);
*(objects+k)=temp;
}
uf5947(rp2,objects,&n_objects,&move_or_copy,&dest_layer,&trace_curves,cop
ies,&trace_curve_group,&status1);
if(status1)
{
AfxMessageBox (" translation failure.″);
return?false;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////
return?true;
}
}
Three, based on the design fast of the parts of OO geometrical constraint method two dimension: adopt constraint solving method based on graph theory to carry out the finding the solution of restricted model of engineering drawing.Method is by geometrical constraint figure (geometricconstraint graph) expression geometrical constraint figure, if definition figure G=(V E) is a constraints graph element how much, then V represents geometric element set limit, and E represents the constrain set between the geometric element.Method at first becomes geometrical constraint figure with the geometrical constraint system map, begins to carry out the orientedization constraint solving of constraints graph then from basic point, and the key of method is to determine the output order of system point.The starting point of constraint solving is a basic point, and so-called basic point is exactly the geostationary system point in position.When the user added geometrical constraint or carries out modification of dimension, system can be defined as basic point begins to carry out along binding side constraints graph then from basic point orientedization to a certain system point according to user's design idea.Its process such as Figure 12 are shown in 13.Wherein the A structure is by setting up a some coincidence relation with basic point O, the fixing position of A, and B, C-structure is general to be set up center line with A and overlaps with distance restraint and determine the position; D, the E structure is by setting up angle and determine the position with the distance restraint of A with B and C.
Its code constraint is as follows:
void?CLoopDraw::MainFunction()
{
double?BasePoint[3]={100,100,0};
CComDraw?draw;
draw.CreateDrawingFrame(800,1000,5,5,″drawview″);
AfxMessageBox (" frame is created and is finished.″);
//create?Rect?one
MyRect?tempRect1;//define?a?Rectangle?object
double?Length=6568;
double?Width=31.52;
tempRect1=draw.CreateRect(BasePoint,Length,Width);//create?the?Rect
AfxMessageBox (" coil body rectangle A creates and finishes.″);
//create?Rect?two
MyRect?tempRect2;//define?a?Rectangle?object
Length=64;
Width=19;
tempRect2=draw.CreateRect(BasePoint,Length,Width);//create?the?Rect
AfxMessageBox (" ventilation slot rectangle B creates and finishes.″);
MyRect?tempRect3;//define?a?Rectangle?object
Length=650;
Width=19;
tempRect3=draw.CreateRect(BasePoint,Length,Width);//create?the?Rect
AfxMessageBox (" ventilation slot rectangle C creates and finishes.″);
///////////////////////////////////////////////////////////////////////////////////////////////////
bool?temp;
//Para?edge?to?edge?distance?let
CString?EdgeStr1,EdgeStr2;
double?Distance=0;
Distance=0;
EdgeStr1=″HC″;
EdgeStr2=″HC″;
temp=draw.ParallelEdgetoEdgeDistanceLet(tempRect1,EdgeStr1,tempRect2
,EdgeStr2,Distance);
tempRect2=draw.UpDate(tempRect2);
AfxMessageBox (" rectangle A and rectangle B horizontal center line overlap constraint and finish ");
EdgeStr1=″Left″;
EdgeStr2=″Left″;
temp=draw.ParallelEdgetoEdgeDistanceLet(tempRect1,EdgeStr1,tempRect2
,EdgeStr2,Distance);
tempRect2=draw.UpDate(tempRect2);
AfxMessageBox (" the rectangle A and the rectangle B left side overlap constraint and finish ");
return;
EdgeStr1=″HC″;
EdgeStr2=″HC″;
temp=draw.ParallelEdgetoEdgeDistanceLet(tempRect1,EdgeStr1,tempRect3
,EdgeStr2,Distance);
tempRect3=draw.UpDate(tempRect3);
AfxMessageBox (" rectangle A and rectangle C horizontal center line overlap constraint and finish ");
EdgeStr1=″Left″;
EdgeStr2=″Left″;
Distance=74;
temp=draw.ParallelEdgetoEdgeDistanceLet(tempRect1,EdgeStr1,tempRect3
,EdgeStr2,Distance);
tempRect3=draw.UpDate(tempRect3);
AfxMessageBox (" rectangle C left side distance and rectangle A left side distance 74 retrain finish ");
///////////////////////////////////////////////////////////////////////////////////////////////
Length=24;
double?Angle=45;
Width=6.26/sin(Angle/180*PI);
MyRect?para1;
para1=draw.CreateParalletFour(BasePoint,Length,Width,Angle);
AfxMessageBox (" parallelogram D creates and finishes ");
EdgeStr1=″Top″;
EdgeStr2=″Top″;
Distance=0;
temp=draw.ParallelEdgetoEdgeDistanceLet(tempRect1,EdgeStr1,para1,Edg
eStr2,Distance);
para1=draw.UpDate(para1);
AfxMessageBox (" parallelogram D top and rectangle A top overlap, and constraint is created and finished
″);
double?x=(44-24/2)-Width*cos(Angle/180*PI);
double?y=0;
temp=draw.Trans(x,y,para1);
para1=draw.UpDate(para1);
AfxMessageBox (" parallelogram D moves horizontally the x distance, and finish ") created in constraint;
//////////////////////////////////////////////////////////////////////////////
Length=24;
Angle=135;
Width=6.26/sin(Angle/180*PI);
MyRect?para2;
para2=draw.CreateParalletFour(BasePoint,Length,Width,Angle);
AfxMessageBox (" parallelogram E creates and finishes ");
EdgeStr1=″Top″;
EdgeStr2=″Top″;
Distance=0;
temp=draw.ParallelEdgetoEdgeDistanceLet(tempRect1,EdgeStr1,para2,Edg
eStr2,Distance);
para2=draw.UpDate(para2);
AfxMessageBox (" parallelogram E top and rectangle A top overlap, and constraint is created and finished
″);
x=(44-24/2)-Width*cos(Angle/180*PI)+50;
y=0;
temp=draw.Trans(x,y,para2);
para2=draw.UpDate(para2);
AfxMessageBox (" parallelogram E moves horizontally the x distance, and finish ") created in constraint;
////////////////////////////////////////////////////////////////////////////////////////
// be the top of border trim rectangle B with the left side and the right of parallelogram D
tag_t?tag_line_needTrim;
tag_t?tag_bound[2];
int?InOrOut=1;
tag_line_needTrim=tempRect2.Top;
tag_bound[0]=para1.Left;
tag_bound[1]=para1.Right;
tag_t
temptag=draw.CreateTrimHaveTwoBound(tag_line_needTrim,tag_bound,InOrO
ut);
UF_OBJ_delete_object(para1.Bom);
// be the top of border trim rectangle C with the left side and the right of parallelogram E
tag_line_needTrim=tempRect3.Top;
tag_bound[0]=para2.Left;
tag_bound[1]=para2.Right;
temptag=draw.CreateTrimHaveTwoBound(tag_line_needTrim,tag_bound,InOrO
ut);
UF_OBJ_delete_object(para2.Bom);
//delete?no?use?line
UF_OBJ_delete_object(tempRect1.VC);
UF_OBJ_delete_object(tempRect2.VC);
UF_OBJ_delete_object(tempRect3.VC);
UF_OBJ_delete_object(para1.HC);
UF_OBJ_delete_object(para2.HC);
}。
In the variable geometric method of original geometrical constraint method, geometric properties all is basic geometric element feature, as point, straight line, circular arc etc., then according to drawing require to set up these geometric properties restriction relation to be converted to the unique point coordinate be the non-linear constrain system of equations of variable, when constraint changes, by Newton one Raphson method iterative system of equations, calculated amount is very big, and false solution very easily occurs.The present invention adopts OO geometrical constraint method, utilize the formal description geometric element of class, the metastable solid of topological structure in the turbodynamo can be expressed as class object operates, not only improved computing velocity, because its geometry body inner topology structure is relatively stable, based on the solving precision of geometrical constraint also than original method height.

Claims (1)

1. the parameterization design method of a turbodynamo critical component is characterized in that, method step is as follows:
One, the basic structure of coil is decomposed: with modularization idea the module that has geometry interchangeability and stabilisation geometry in the coil is divided, decomposite basic module, general module and special module three classes; With regard to coil, basic module comprises coil case module and shaft part body; General module comprises: air inlet module and grooved module; Special module comprises: air vent module, small fish tail module, big fish tail module and mirror image hole, and geometry module is further decomposed, and is that example may further be A: coil body with the straight line end; O: basic point; B, C: ventilation slot; D, E: four basic modules of air inlet;
Two, OO geometry modeling: the geometry module of having divided is carried out class description, and wherein the description template of each module is:
Class geometric properties body class title
{ solid object oriented;
The external constraint object 1tag of solid;
The external constraint object 2tag of solid;
......
The external constraint object ntag of solid;
CreateGeometry (parameter 1, parameter 2, parameter 3) // establishment self module geometric properties integral body, its
Topological structure fix
Return:
The external constraint object 1tag of solid;
The external constraint object 2tag of solid;
......
The external constraint object ntag of solid;
}
// // // // // // // // // // // // // // // restriction relation of geometric properties body and other objects created
CreateParallel (external constraint object tag, the external constraint object i of solid tag, parallel distance);
CreatePerpend (external constraint object tag, the external constraint object i of solid tag);
CreateAngle (external constraint object tag, the external constraint object i of solid tag, angle);
RemoveInterLine (); // remove with solid and intersect the retention lines of back in solid inside;
... // other retrain creation method
}
Three, based on the design fast of the parts of OO geometrical constraint method two dimension: adopt constraint solving method based on graph theory to carry out the finding the solution of restricted model of engineering drawing; Method is by geometrical constraint figure (geometricconstraint graph) expression geometrical constraint figure, if definition figure G=(V E) is a constraints graph element how much, then V represents geometric element set limit, and E represents the constrain set between the geometric element; Method at first becomes geometrical constraint figure with the geometrical constraint system map, begins to carry out the orientedization constraint solving of constraints graph then from basic point, and the key of method is to determine the output order of system point; The starting point of constraint solving is a basic point, and so-called basic point is exactly the geostationary system point in position; When the user added geometrical constraint or carries out modification of dimension, system can be defined as basic point begins to carry out along binding side constraints graph then from basic point orientedization to a certain system point according to user's design idea.
CN 201010519500 2010-10-26 2010-10-26 Parametric design method for turbonator key components Pending CN101976285A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010519500 CN101976285A (en) 2010-10-26 2010-10-26 Parametric design method for turbonator key components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010519500 CN101976285A (en) 2010-10-26 2010-10-26 Parametric design method for turbonator key components

Publications (1)

Publication Number Publication Date
CN101976285A true CN101976285A (en) 2011-02-16

Family

ID=43576170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010519500 Pending CN101976285A (en) 2010-10-26 2010-10-26 Parametric design method for turbonator key components

Country Status (1)

Country Link
CN (1) CN101976285A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544363A (en) * 2013-11-15 2014-01-29 上海电气电站设备有限公司 Generator rotor strength calculation method capable of achieving parametric modeling
CN103559365A (en) * 2013-11-15 2014-02-05 上海电气电站设备有限公司 Parametric modeling method suitable for end part coil of generator stator winding
CN104239649A (en) * 2014-09-28 2014-12-24 成都飞机工业(集团)有限责任公司 Shape feature self-defining and recognition system
CN107330209A (en) * 2017-07-06 2017-11-07 常州赞云软件科技有限公司 A kind of moulding wall intelligent template implementation method based on Parametric designing
CN107577873A (en) * 2017-09-06 2018-01-12 中国长江动力集团有限公司 Partition board of steam turbine parameterization design method and device
CN108170945A (en) * 2017-12-26 2018-06-15 哈尔滨工业大学 A kind of aeroplane engine machine maintenance final vacuum temperature margin Forecasting Methodology

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285142A (en) * 1999-03-30 2000-10-13 Casio Comput Co Ltd Circuit chart display device and storage medium recording circuit characteristic display processing program
CN1928876A (en) * 2005-09-09 2007-03-14 鸿富锦精密工业(深圳)有限公司 Fittings attribute assimilation system and method
CN101324964A (en) * 2008-06-03 2008-12-17 奇瑞汽车股份有限公司 Three-dimensional modeling method
CN101539959A (en) * 2009-04-24 2009-09-23 沈阳工业大学 Design method of parameterized part of wind generating set

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000285142A (en) * 1999-03-30 2000-10-13 Casio Comput Co Ltd Circuit chart display device and storage medium recording circuit characteristic display processing program
CN1928876A (en) * 2005-09-09 2007-03-14 鸿富锦精密工业(深圳)有限公司 Fittings attribute assimilation system and method
CN101324964A (en) * 2008-06-03 2008-12-17 奇瑞汽车股份有限公司 Three-dimensional modeling method
CN101539959A (en) * 2009-04-24 2009-09-23 沈阳工业大学 Design method of parameterized part of wind generating set

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544363A (en) * 2013-11-15 2014-01-29 上海电气电站设备有限公司 Generator rotor strength calculation method capable of achieving parametric modeling
CN103559365A (en) * 2013-11-15 2014-02-05 上海电气电站设备有限公司 Parametric modeling method suitable for end part coil of generator stator winding
CN103544363B (en) * 2013-11-15 2016-10-05 上海电气电站设备有限公司 A kind of generator amature strength calculation method of parameterisable modeling
CN103559365B (en) * 2013-11-15 2017-07-07 上海电气电站设备有限公司 A kind of parametric modeling method suitable for Generator Stator Winding Ends coil
CN104239649A (en) * 2014-09-28 2014-12-24 成都飞机工业(集团)有限责任公司 Shape feature self-defining and recognition system
CN107330209A (en) * 2017-07-06 2017-11-07 常州赞云软件科技有限公司 A kind of moulding wall intelligent template implementation method based on Parametric designing
CN107330209B (en) * 2017-07-06 2020-08-21 常州赞云软件科技有限公司 Modeling wall intelligent template implementation method based on parametric design
CN107577873A (en) * 2017-09-06 2018-01-12 中国长江动力集团有限公司 Partition board of steam turbine parameterization design method and device
CN108170945A (en) * 2017-12-26 2018-06-15 哈尔滨工业大学 A kind of aeroplane engine machine maintenance final vacuum temperature margin Forecasting Methodology
CN108170945B (en) * 2017-12-26 2021-07-02 哈尔滨工业大学 Method for predicting after-repair exhaust temperature margin of aircraft engine

Similar Documents

Publication Publication Date Title
Samareh Aerodynamic shape optimization based on free-form deformation
CN111230880B (en) Complex curved surface processing track generation method in offline programming
Li et al. Analysis-suitable T-splines: Characterization, refineability, and approximation
Chan Developments in Strategies and Software Tools for Overset Structured Grid Generation and Connectivity
CN110580376B (en) Revit and Dynamo-based pile foundation model creation method
US8117011B2 (en) Computer-aided design of three-dimensional objects to be fabricated
CN101976285A (en) Parametric design method for turbonator key components
CN108099203A (en) For the orientation of the real object of 3D printings
CN113888716B (en) Scene lightweight method for digital twinning
Uy et al. Joint learning of 3d shape retrieval and deformation
Li et al. Geometry synthesis on surfaces using field-guided shape grammars
Masters et al. Multilevel subdivision parameterization scheme for aerodynamic shape optimization
CN105006023B (en) A kind of multi-class threedimensional model compositional modeling method for supporting Computer Aided Design
CN103544343A (en) Serialized and parameterized modeling method of power chuck
CN103310042A (en) Three-dimensional angle rib distribution method
CN105844067A (en) Method for obtaining automatic processing data of welding variable groove of hull curve plate
Konobrytskyi et al. 5-Axis tool path planning based on highly parallel discrete volumetric geometry representation: Part I contact point generation
CN114581639A (en) Method for generating information of beam steel bars in BIM (building information modeling) model based on beam leveling construction drawing
Yu et al. Scalable parallel distance field construction for large-scale applications
CN111915720B (en) Automatic conversion method from building Mesh model to CityGML model
Guo et al. An automatic assembly CAD system of plastic profile calibrating die based on feature recognition
Shang et al. Effective re-parameterization and GA based knot structure optimization for high quality T-spline surface fitting
CN115979243A (en) Mobile robot navigation map conversion method and system based on BIM information
Tang et al. A non-supporting printing algorithm for fused filament fabrication of multi-branch structure
Campen Tiling the bunny: Quad layouts for efficient 3d geometry representation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110216