 |
PK_BODY_imprint_faces_o_t |
|
struct PK_BODY_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_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_BODY_imprint_faces_o_s PK_BODY_imprint_faces_o_t;
This option structure is supplied to the body imprinting operation.
Specific Errors:
PK_ERROR_unsupported_operation target or tool faces do not belong to
a sheet body when this is needed in order
to support imprint completion (MILD)
PK_ERROR_bad_tolerance proposed tolerance is too small (MILD)
Used in:
PK_BODY_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 is
a sheet body. 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 tool may
be extended so that additional faces will be
intersected with the target.
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 it either:
o meets any edge belonging to the target faces, or
o meets any laminar edge belonging to the
target faces.
If general topology is not enabled in the session,
the tool body must be a sheet body. The target body
must also be a sheet body if completion is to a
laminar edge, otherwise a solid body is also allowed.
If general topology is enabled, the target and tool
bodies may be of any type, however imprint completion
can still only begin from laminar edges.
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.
'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.