Solid Outline
 
Functions Introduced:
The function ProSolidOutlineGet() provides you with the maximum and minimum values of X, Y, and Z occupied by the contents of the solid, with respect to the default, solid coordinate system.
The function ProSolidOutlineCompute() calculates the outline of the solid with respect to any orientation, defined by a transformation matrix. (For more information, see the Core: Coordinate Systems and Transformations section.) The function enables you to exclude from the calculation items of any or all of the following types:
Datum plane
Datum point
Datum axes
Datum coordinate system
Facets
This function ProSolidOutlineWithOptionsCompute() calculates the outline of a solid using the specified filter. This filter is defined by the filter function ProFeatureFilterAction() , and excludes features based on user-defined logic. This filter works in addition to the excluded types, that is, if either check excludes a feature, it will be excluded. The input arguments are:
p_solid—The solid whose outline is to be calculated.
matrix —The orientation matrix (with respect to the base coordinate system) that will be used to calculate the outline.
excludes—An array of types that are excluded from the outline calculations such as nongeometric features and is defined by the enumerated data type ProSolidOutlExclTypes . If you set this to PRO_OUTL_EXC_NOT_USED , nothing is excluded.
num_excludes—Specifies the number of exclusions in the array.
filter_action—The filter defined by the callback function ProFeatureFilterAction(). If this is null, all features are considered while computing the outline.
app_data —The application data that is passed to the filter functions.
The output argument r_outline_points are the two points that define the boundary box of the solid in the specified orientation.
Example 3: Computing the Outline of a Solid
The sample code in UgSolidOutlineComp.c located at <creo_toolkit_loadpoint>/protk_appls/pt_userguide/ptu_solid computes the outline of a solid with respect to a selected coordinate system, and converts the result back to solid coordinates.
Was this helpful?