 |
PK_FACE_imprint_faces_o_t |
|
struct PK_FACE_imprint_faces_o_s
{
int o_t_version; --- version number of option structure
PK_LOGICAL_t imprint_tool; --- whether to imprint on tool
--- (PK_LOGICAL_true)
PK_LOGICAL_t imprint_overlapping; --- whether to imprint boundaries of
--- overlapping areas
--- (PK_LOGICAL_false)
PK_imprint_face_list_t
extend_face_list; --- whether to extend list of faces
--- for imprinting
--- (PK_imprint_face_list_no_c)
const PK_boolean_match_o_t
*matched_region; --- regions to match (NULL)
PK_imprint_complete_t
imprint_complete_targ; --- whether to complete imprint on
--- target faces
--- (PK_imprint_complete_no_c)
PK_imprint_extend_t
imprint_extend_targ; --- direction in which to complete
--- imprint on target faces
--- (PK_imprint_extend_tangent_c)
PK_imprint_complete_t
imprint_complete_tool; --- whether to complete imprint on
--- tool faces
--- (PK_imprint_complete_no_c)
PK_imprint_extend_t
imprint_extend_tool; --- direction in which to complete
--- imprint on tool faces
--- (PK_imprint_extend_tangent_c)
PK_complete_bound_t
complete_bound; --- how to bound imprint completion
--- (PK_complete_bound_none_c)
double complete_bound_distance;
--- distance bound for imprint
--- completion (0.0)
PK_imprint_dir_t
imprint_dir; --- whether imprinted edges should
--- have consistent direction
--- (PK_imprint_dir_no_check_c)
PK_boolean_update_t
update; --- update switch
--- (PK_boolean_update_default_c)
PK_LOGICAL_t have_tolerance; --- whether a tolerance is provided
--- (PK_LOGICAL_false) [NF]
double tolerance; --- tolerance to which the imprint
--- operation may assume that entities
--- are coincident (0.0) [NF]
};
typedef struct PK_FACE_imprint_faces_o_s PK_FACE_imprint_faces_o_t;
This option structure is supplied to the face imprinting operation.
Specific Errors:
PK_ERROR_bad_tolerance proposed tolerance is too small (MILD)
Used in:
PK_FACE_imprint_faces_2
Description of fields:
'imprint_tool' Imprint edges and vertices on the tool faces.
If this flag is set to PK_LOGICAL_false,
edges and vertices are imprinted on the
target only. The arrays of edges and
vertices on the tool, returned in the results
structure, will be set to null.
'imprint_overlapping' Imprint the boundaries of overlapping areas.
This is only necessary when the target and
tool are faces or sheet bodies. If a face
from the target and a face from the tool are
on the same surface, the boundaries of the
overlapping area will be imprinted. If this
flag is not set, faces on a common surface
will not imprint on each other.
'extend_face_list' When imprinting results in incomplete loops
of imprinted edges, the face list of the
target or tool may be extended so that
additional faces will be intersected with the
tool or target or both the tool and the target.
Additional faces can be added on to the tool or
the target or on to both the tool and the
target face lists as specified.
See here for more information.
'matched_region' Describes matched regions between the target and tool.
See PK_boolean_match_o_t and here for more
information.
'imprint_complete_targ' Complete the imprint on the target faces so
that the end vertices of the imprint lie on
any edge or any laminar edge of the target
faces. The incomplete imprint is completed by
intersecting the target faces with a plane
orthogonal to the target at the end vertices
of the incomplete imprint. Depending on the
value of this option, the imprint will be
completed along the direction of this plane
until either:
o it meets any edge belonging to the target faces
o it meets any laminar edge belonging to the
target faces.
Tool faces must belong to sheet bodies. Target faces
must belong to sheet bodies if completion is to a
laminar edge, otherwise they may also belong to solid
bodies. A completed imprint that self-intersects
will be trimmed at the point of self-intersection.
Imprint completion on the target will only occur
from laminar edges of the tool.
See here for more
information.
'imprint_extend_targ' Choose the orientation of the plane when
completing an imprint with
'imprint_complete_targ'. The plane may lie
tangential or orthogonal to the end of the
imprint. The orthogonal direction may lie
along the forward or backward direction of the
tool face normal at that point.
See here for more
information.
'imprint_complete_tool' Complete the imprint on the tool faces. The
incomplete imprint will be completed on the
tool faces in a manner similar to that described
for 'imprint_complete_targ' above. However unlike
'imprint_complete_targ' it is not possible for the
tool faces to belong to solid bodies.
'imprint_tool' must be set to PK_LOGICAL_true
when completing an imprint on the tool.
See here for more
information.
'imprint_extend_tool' Choose the orientation of the plane when
completing an imprint with
'imprint_complete_tool'. This option behaves
in a similar manner to that described in
'imprint_extend_targ'.
See here for more
information.
'complete_bound' How to bound imprint completion. The default
(PK_complete_bound_none_c) is unbounded.
'complete_bound_distance'
The distance used to bound imprint completion, as
determined by 'complete_bound'. If 'complete_bound'
and 'have_tolerance' both have non-default values,
then 'complete_bound_distance' must be greater than
'tolerance'.
'imprint_dir' If enabled, the directions of imprinted edges are
made consistent where possible. Parasolid's definition
of consistency is described here . Edges for
which a consistent direction cannot be determined will
be reported with a PK_REPORT_1_imp_dir_undef_c record.
'update' The default value allows applications to take
advantage of the latest enhancements to the boolean
algorithm. To maintain consistency when rebuilding
models created in a previous version of Parasolid, a
non-default value should be specified.
(PK_boolean_update_default_c)
'have_tolerance' Indicates whether an operation tolerance is being
passed in through the 'tolerance' parameter.
'tolerance' The tolerance to which the imprint operation may
assume that entities are coincident. This field should
be set to a value that is related to the tolerance to
which the application is creating approximations.