 |
PK_FACE_taper_o_t |
|
struct PK_FACE_taper_o_s
{
int o_t_version; --- version number of option
--- structure
PK_LOGICAL_t merge_face; --- whether tapered faces are to
--- be merged with their
--- neighbours
--- (PK_LOGICAL_true)
PK_check_fa_fa_t check_fa_fa; --- check for face-face
--- inconsistencies
--- (PK_check_fa_fa_yes_c)
PK_EDGE_array_t tapered_edges; --- tapered step edges [NF]
PK_EDGE_array_t normal_edges; --- normal step edges [NF]
PK_taper_method_t method; --- main face taper method
--- (PK_taper_method_isocline_c)
--- [PF]
double offset; --- offset value (0.0) [NF]
PK_SURF_t top_surface; --- top surface (PK_ENTITY_null)
--- [NF]
PK_taper_smooth_step_t taper_smooth_step;
--- whether to create step faces
--- (PK_taper_smooth_step_no_c)
--- [NF]
PK_taper_step_face_t taper_step_face;
--- step face between taper
--- faces
--- (PK_taper_step_face_no_c)
--- [NF]
int n_faces; --- number of faces, which are
--- to be tapered at different
--- taper angles (0) [NF]
const PK_FACE_t *taper_faces; --- faces which are tapered with
--- different taper angles
--- (NULL) [NF]
const double *angles; --- different taper angles. Size
--- of this array is the same as
--- that of the 'taper_faces'
--- array
--- (NULL) [NF]
PK_taper_laminar_edge_t position; --- defines how to process
--- laminar boundaries
--- (PK_taper_laminar_edge_normal_c)
PK_FACE_grow_t grow; --- controls which faces to grow
--- when repairing clashes
--- (PK_FACE_grow_update_c) [PF]
PK_local_ops_update_t update; --- update flag
--- (PK_local_ops_update_default_c)
int n_parting_edges;
--- number of parting edges (0) [NF]
const PK_ENTITY_t *parting_edges; --- parting body step edges (NULL)
--- [NF]
PK_BODY_t parting_body; --- parting body (PK_ENTITY_null)
--- [NF]
};
typedef struct PK_FACE_taper_o_s PK_FACE_taper_o_t;
This structure contains optional controls for PK_FACE_taper
Used in:
PK_FACE_taper
Description of fields:
'merge_face' If this flag is set to PK_LOGICAL_true, the
new faces produced by the operation will be
merged with their neighbouring faces, if it is
feasible. The default value is PK_LOGICAL_true.
'check_fa_fa' Check for face-face inconsistencies.
Values can be :
PK_check_fa_fa_no_c
PK_check_fa_fa_yes_c
The default value is PK_check_fa_fa_yes_c.
'tapered_edges' Edges which will give rise to tapered step faces.
These faces' surfaces will satisfy the taper
condition. Edges in this array should NOT also
appear in the 'normal_edges' array.
'normal_edges' Edges which will give rise to normal step faces.
These faces' surfaces are ruled surfaces normal
to the relevant original taper face.
These surfaces do NOT necessarily satisfy the taper
condition. Edges in this array should NOT also
appear in the 'tapered_edges' array.
'method' Taper method to construct main taper faces' surfaces.
Values can be :
PK_taper_method_isocline_c : isocline method
PK_taper_method_curve_c : curve method
PK_taper_method_surface_c : surface method
PK_taper_method_offset_c : offset method
PK_taper_method_normal_c : normal method
See here for more information.
o The isocline (or silhouette) method produces ruled
isocline surfaces satisfying the taper condition.
It will fail if the angle between the reference
curve tangent and the taper direction is smaller
than the taper angle. The taper surfaces were
previouly produced using this method.
See here for more information.
o The curve method produces ruled surfaces whose
ruling direction is in the plane containing the
taper direction and the direction perpendicular to
the taper direction and the reference curve tangent.
The reference curve is either the reference edge's
curve or the reference surface and taper face
intersection curve.
See here for more information.
o The surface method produces ruled surfaces whose
ruling direction is in the plane containing the
taper direction and the tapered face's surface
normal.
See here for more information.
o The offset method produces ruled surfaces from
reference edge's curves to their "offset curves".
An "offset curve" is a curve on the given top
surface and that appears offset the given distance
from the relevant reference edge's curve when viewed
from the taper direction.
See here for more information.
o The normal method produces ruled surfaces similar
to the curve method, but is independent of
the global taper direction. Instead the taper
direction is a variable defined by the surface
normal of a corresponding surface along the
reference curve.
If the reference entity is an edge, the
corresponding surface is the surface of the face
connected to the taper face. If the reference
entity is a surface, the corresponding surface is
the reference surface itself.
Note that the only values supported for facet geometry
are PK_taper_method_isocline_c,
PK_taper_method_curve_c and PK_taper_method_surface_c.
The default value is PK_taper_method_isocline_c.
'offset' The offset distance for the offset taper method.
Positive/negative offset distance makes the curve
to offset towards the outside/inside of the body.
See here for more information.
'top_surface' The surface on which the reference edge's curve is
projected to create the relevant offset curve.
'taper_smooth_step' A "boundary edge" is an edge between a face which is
being tapered and one which is not.
If this option is set to PK_taper_smooth_step_yes_c
then side faces will be created along any smooth
boundary edges (if appropriate - for example no side
faces will be created if the tapered surface remains
coincident with the smooth edge). Setting this option
to PK_taper_smooth_step_yes_c has no effect on the
result if there are no smooth boundary edges.
'taper_step_face' If this option is set to PK_taper_step_face_yes_c
step faces will be created between taper faces which
get separated during taper operation. An example is
smooth edges between taper faces, and multiple taper
angles are specified.
If the option is set to PK_taper_step_face_no_c, a
trim solution between taper faces is attempted.
If the option is set to PK_taper_preserve_smooth_c,
multiple taper angles cannot be specified on the set
of smoothly connected faces in the 'taper_faces'
array. All the smoothly connected taper faces in the
'taper_faces' array need to be specified a constant
taper angle.
See here for more information.
'n_faces' number of faces in the 'taper_faces' array
'taper_faces' Faces which are tapered with different taper
angles. This list could contain a mixture of
smoothly connected faces and sharply connected faces.
Each of these faces should be unique, and
should be a subset of the input faces array.
If a taper face and its reference face are both
specified in this array, then they must have same
taper angles specified in the angles array.
See here for more information.
'angles' Taper angles for each of the faces in the faces array.
If option PK_taper_preserve_smooth_c is specified and
multiple taper angles are specified for the set of
smoothly connected faces in the 'taper_faces' array,
PK_ERROR_bad_angle is returned.
See here for more information.
'position' Specifies how to process laminar edge boundaries.
If the value is PK_taper_laminar_edge_normal_c,
geometry for the laminar edge is produced by
projecting the edge geometry along the taper surface
normal. This is the default behaviour.
If the value is PK_taper_laminar_edge_draw_c,
geometry for the laminar edge is produced by
intersecting the taper surface with a local surface,
constructed orthogonal to draw direction along the
laminar edge.
For more information, see here.
'grow' While repairing clashing features, there are
situations in which it is necessary for faces to be
grown. This option controls which feature's faces
will be grown.
Permitted values are:
PK_FACE_grow_update_c
PK_FACE_grow_auto_c
PK_FACE_grow_moving_c
PK_FACE_grow_fixed_c
PK_FACE_grow_no_c
PK_FACE_grow_fail_c
Note that the value PK_FACE_grow_update_c is not
supported for facet geometry.
The default value is PK_FACE_grow_update_c, which
should be used for updating v20.0 and earlier models.
See here for more information.
'update' The default value allows applications to take
advantage of the latest enhancements of the generic
algorithms supporting Parasolid local operations
functions. To maintain consistency when rebuilding
models created in a previous version of Parasolid,
a non-default value should be specified.
The default value is PK_local_ops_update_default_c
'n_parting_edges' Number of parting edges.
The default is 0.
'parting_edges' Edges which will give rise to step faces created
from a parting body. The parting edges must be
coincident with the parting body. They should NOT
also appear in 'tapered_edges' or 'normal_edges'.
The default is NULL.
See here for more information.
'parting_body' The body used to create step faces from the parting
edges. It must be a sheet body.
The default is PK_ENTITY_null.