Geometry Analysis
This section describes the sheet metal geometry analysis and bend table functions. It also introduces and describes the feature element trees for the sheet metal features.
Creo TOOLKIT geometry analysis functions provide for analysis of sheet metal part geometry and ensure effective customization of sheet metal parts. These analyses include extracting part thickness data and obtaining edge and surface data for sheet metal components.
In addition, sheet metal bend edge and bend surface functions support analyses that:
Extract bend information associated with bend lines (K-factor, Y-factor, bend deduction, bend allowance).
Find bend lines when a part is in a flat state.
Map flat state IDs to bent state IDs.
Functions Introduced:
The function ProSmtPartThicknessGet() returns the dimension that defines the thickness of the specified sheet metal component. If the model contains the thickness parameter, then this dimension cannot be modified directly. Use the function ProParameterValueWithUnitsSet() to assign the value of the thickness parameter. If you specify a non sheet metal part, ProSmtPartThicknessGet() returns PRO_TK_BAD_CONTEXT.
The function ProSmtSurfaceTypeGet() returns the type of the specified solid surface. This enables you to determine whether a surface is created by a sheet metal feature, and to distinguish among the different types of sheet metal surfaces, such as side, white, and green.
The possible values are as follows:
PRO_SMT_SURF_NON_SMT—The surface was created by a solid feature.
PRO_SMT_SURF_SIDE—The surface is a side surface created by a sheet metal feature.
PRO_SMT_SURF_FACE—The surface is the face (green) surface created by a sheet metal feature.
PRO_SMT_SURF_OFFSET—The surface is the offset (white) surface created by a sheet metal feature.
The function ProSmtedgeContourGet() returns a complete contour that contains the specified edge. This function returns PRO_TK_BAD_CONTEXT if the edge is not on the green or white side of the specified part.
The function ProSmtOppsurfGet() returns a surface that is opposite (offset to) the specified surface.
The function ProSmtOppedgeGet() returns the edge that is opposite (offset to) the specified edge. Edge data for function ProSmtOppedgeGet() uses the following definitions:
An edge is lying on a green surface if one of its surfaces has SHEETMETAL TYPE = FACE.
An edge is lying on a white surface if one of its surfaces has SHEETMETAL TYPE = OFFSET.
The opposite edge to an edge must be on the surface opposite the original edge's surface and must be a geometrical offset of the original edge.
An edge is in a peripheral contour if, and only if the following are true:
It is in the part geometry.
Exactly one of its surfaces is either FACE or OFFSET.
The function ProSmtBendsrfParentGet() returns the parent of the specified surface. For example, if the specified surface is in bent position, this function returns the surface that is the most recent, unbent equivalent of the specified surface. See notes below.
The function ProSmtBendsrfChildGet() returns the active (visible) child surface of the specified, inactive (invisible) surface. A surface is active (visible) if it is in the part geometry list. See notes below.
The function ProSmtBendedgeParentGet() returns the parent of the specified edge. For example, if the specified edge is in bent position, this function returns the edge that is the most recent, unbent equivalent of the specified edge. See notes below.
The function ProSmtBendedgeChildGet() returns the active (visible) child edge of the specified, inactive (invisible) edge. An edge is active (visible) if both its surfaces are active and the edge is contained in the contours of both surfaces. See notes below.
Edges and surfaces in quilt geometry are also visible, but they are invalid as input to sheet metal functions.
Surface and edge parent and child functions use the following definitions:
An edge or surface has a parent if the edge or surface is a result of bending or unbending another edge or surface.
If an edge or surface is active and is a result of bending or unbending, any parent of this edge or surface that is in the chain of bends or unbends has this edge or surface as the active child.
The function ProSmtMdlIsFlatStateInstance() checks if the model is a flat state instance model.
The function ProFaminstanceIsFlatState() checks if the family instance of the model is a sheet metal flat instance or not.
The function ProSmtBendsrfInfoGet() gets all the information about the specified bend surface in a sheet metal part. You can specify as input, the face surface PRO_SMT_SURF_FACE or, the offset surface PRO_SMT_SURF_OFFSET which is created by the sheet metal feature. The cylindrical and planar surfaces, which are created by unbending the cylindrical surfaces, can be specified as input.
The following information is collected:
radius—Specifies the bend radius.
is_inside_radius—Specifies PRO_B_TRUE if the bend radius is inside. It returns PRO_B_FALSE if the bend radius is outside.
angle—Specifies the bend angle in degrees.
dev_length—Specifies the developed length of the surface.
dev_len_info—Specifies a structure, that contains information about the values of various parameters, which were used to calculate the developed length. The structure ProSmtDvlLenCalcInfo contains the following information:
method—Specifies the method used to calculate the developed length. The method is specified using the enumerated data type ProDvlLenMethod.
model—Specifies the model, whose bend allowance settings are used to calculate the developed length. Usually, the model is the part that owns the specified bend surface. A model can also be a reference part, when the specified surface has been copied from a reference part. Here the developed length is calculated according to the bend allowance settings of the reference part, or the bend allowance settings of a feature in the reference part.
y_factor_value—Specifies the value of K-factor or Y-factor used to calculate the developed length.
Note:
 
y_factor_value is specified only if the method used to calculate developed length is PRO_DVL_LEN_DRIVEN_BY_Y_FACTOR.
bend_table—Specifies the name of the bend table that controls the bend allowance calculations for the developed length.
formula—Specifies the formula that was used to calculate the developed length.
allowance—Specifies the value of bend allowance from the bend table.
dimension—Specifies the dimension ID associated with the developed length. If the method used to calculate developed length is PRO_DVL_LEN_DRIVEN_BY_DIMENSION, then developed length is specified manually by the user.
driven_by_part_settings—Specifies if the developed length is driven by bend allowance settings of a part or by bend allowance settings of a feature. PRO_B_TRUE indicates that the bend allowance settings of a part are used.
도움이 되셨나요?