110 likes | 448 Views
Solid Creation in the Manufacturing Process. Matthew Radebach GE Global Research June 8, 2008. What do we want?. Reliable method to create solid bodies while maintaining integrity of geometry . Before:. After:. Sheet Bodies. Solid Body. Why?.
E N D
Solid Creation in the Manufacturing Process Matthew Radebach GE Global Research June 8, 2008
What do we want? Reliable method to create solid bodies while maintaining integrity of geometry Before: After: Sheet Bodies Solid Body
Why? Many times in manufacturing, final part geometries are available, but stock geometry is not. Initial stock geometries are necessary to design tooling, examine in-process parts. . . Stock Final
Approach 1 Sheet Body Method: UF_Modl_create_sew Tolerance: 0.001 Type Body: 1 (Solid Body) Result: Created solid body when geometry allowed, but more often created sheet body. Other times sew failed completely. Conclusion: If interested in stock geometry, user is unable to perform desired operations on sheet body: Volume calculations, boolean operations, cutting operations, etc.
Approach 2 Sheet bodies created Method: Trim sew bodies by each other, attempt sew similar to approach 1. Result: Often times, trim body not large enough, causing the trim to fail, but body still created. Conclusion: Incorrect geometry created
Isometric View Front View Face overlap Approach 3 Method: UF_Modl_create_thru_curves All Tolerance parameters: Base tolerances Result: Solid body created but faces overlap, only 4 of 6 faces created when sharp corners present Conclusion: Unable to perform required operations on overlapped faces: extend, trim, etc.
Isometric View Front View No face overlap Approach 3b Method: UF_Modl_create_thru_curves Angle/Intersection Tolerances: Base tolerance Distance Tolerance: 0.0 Result: Solid body created, sharp corners preserved, 6/6 faces created Conclusion: All necessary operations can be performed on newly created solid. Method of choice!
Sample program • int create_mesh_sheet_body( tag_t *p_curve, /* primary curves */ tag_t *c_curve, /* cross curves */ int np, /* number of primary curves */ int nump, /* num of segments in each primary curve */ int nc, /* number of cross curves */ int numc, /* num of segments in each cross curve */ tag_t *sheet_body ) • { . . . • for( i = 0; i < np; i++ ) • { • dirs_p[i] = 1; • sstr_p[i] = nump; • } • prim.num = np; prim.id = p_curve; prim.dir = dirs_p; prim.string = sstr_p; • spine.num = 0; • tol[0] = 0.0; • tol[1]=tol[2]= BASE_TOLERANCE; • c_face[0] = c_face[1] = c_face[2] = c_face[3] = NULL_TAG; • c_flag[0] = c_flag[1] = c_flag[2] = c_flag[3] = 0; • body_type = 1; patch_type = 2; • align_method = 1; • v_degree = (np>4) ? 3 : np-1; • v_status = 0; • error = UF_CALL(UF_MODL_create_thru_curves (&prim, &spine, &patch_type, &align_method, val, &v_degree, &v_status, &body_type, UF_NULLSIGN, tol, c_face, c_flag, sheet_body)); • return (error); • } **Note: use for only primary curves
Conclusions Required: Reliable method to create solid bodies while maintaining integrity of geometry Why: Many times in manufacturing, final part geometries are available, but stock geometry is not. If there is a need to look at in process work piece or geometry in needed to design process tooling, the initial shape is necessary. Method: UF_Modl_create_thru_curves with 0.0 distance tolerance
Acknowledgements Teresa Chen-Keat Zuozhi Zhao