你自己看吧,我的英文不好!
The UF_MODL_simpl_data_s structure contains the parametric information used
to define a simplification feature.
When the simplification feature is applied to a body, certain faces are
removed from the body, and the gaps are healed over (creating new faces if
necessary). The faces to be removed are determined as follows:
All faces in the array <retained_faces> are retained.
Any face that can be reached from another retained face without crossing a
boundary edge is retained.
All other faces are removed. NOTE: The interactive Simplify dialog
automatically adds any boundary face to the retained_faces array. This must
be done by the caller of UF_MODL_create_simplify to achieve the same results.
The boundary edges are defined as follows:
All edges in the array <boundary_edges> are boundary edges.
None of the edges in the array <non_boundary_edges> are boundary edges.
All edges of faces in the array <boundary_faces>, except those edges in the
array <non_boundary_edges>, are also boundary edges.
All edges created by imprint features in the array <imprint_features>, except
those edges in the array <non_boundary_edges>, are also boundary edges.
The edges of holes on the body whose diameter is less than the current value
of <max_hole_dia_expression>, except those edges in the array
<non_boundary_edges>, are also boundary edges. (Effectively, such holes are
removed.) A hole is defined to be an inward-pointing full cylindrical face
or an inward-pointing full conical face. To suppress this option, simply
pass in an expression evaluating to 0.0 or less.
The array <removed_faces> can be used to verify the simplification feature.
If any face in it would remain on the solid after the feature were created,
the feature is not actually created and the ifail
UF_MODL_SIMPL_FACE_NOT_REMOVED is returned. This also applies if the feature
is previewed.
The following restrictions apply to simplify parms:
A face may be both a retained face and a boundary face, hence the two arrays
may have elements in common.
A retained or boundary face may not be a removed face.
At least one retained face must be supplied.
All faces must be on the same body.
The <boundary_edges> and the <non_boundary_edges> arrays can have no elements
in common.
In some cases, one or more faces cannot be removed at all, because the
surrounding faces cannot be healed across them, or because this would divide
the body into two or more disjoint pieces. In this case, the ifail
UF_MODL_SIMPL_HEAL_FAILED is returned. These cases cannot be detected by
previewing the simplification, only when it is actually applied.
Data Members
n_retained_faces
int n_retained_faces
Number of retained faces
retained_faces
tag_t* retained_faces
Array of retained faces
n_boundary_faces
int n_boundary_faces
Number of boundary faces
boundary_faces
tag_t* boundary_faces
Array of boundary faces
n_removed_faces
int n_removed_faces
Number of removed faces
removed_faces
tag_t* removed_faces
Array of removed faces
n_boundary_edges
int n_boundary_edges
Number of boundary edges
boundary_edges
tag_t* boundary_edges
Array of boundary edges
n_non_boundary_edges
int n_non_boundary_edges
Number of non-boundary edges
non_boundary_edges
tag_t* non_boundary_edges
Array of non-boundary edges
n_imprint_features
int n_imprint_features
Number of imprint features to apply
imprint_features
tag_t* imprint_features
Array of imprint features whose edges are to be boundaries
max_hole_dia_expression
tag_t max_hole_dia_expression
Expression for maximum diameter holes to remove |