 |
PK_BODY_imprint_o_t |
|
struct PK_BODY_imprint_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)
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 body
--- (PK_imprint_complete_no_c)
PK_imprint_extend_t
imprint_extend_targ; --- direction in which to complete
--- imprint on target body
--- (PK_imprint_extend_tangent_c)
PK_imprint_complete_t
imprint_complete_tool; --- whether to complete imprint on
--- tool body
--- (PK_imprint_complete_no_c)
PK_imprint_extend_t
imprint_extend_tool; --- direction in which to complete
--- imprint on tool body
--- (PK_imprint_extend_tangent_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_o_s PK_BODY_imprint_o_t;
This option structure is supplied to the body imprinting operation.
Specific Errors:
PK_ERROR_bad_tolerance proposed tolerance is too small (MILD)
Used in:
PK_BODY_imprint_body
Description of fields:
'imprint_tool' Imprint edges and vertices on the tool body.
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 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.
'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 body so
that the end vertices of the imprint lie on
any edge or any laminar edge of the target
body. The incomplete imprint is completed by
intersecting the target body 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 body, or
o meets any laminar edge belonging to the
target body.
N.B. The value PK_imprint_complete_faceset_c only
applies to the face boolean algorithm, so it may not
be used here.
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.
See Completing imprints 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 body normal.
See Completing imprints for more
information.
'imprint_complete_tool' Complete the imprint on the tool body. The
incomplete imprint will be completed on the
tool body in a manner similar to that described
for 'imprint_complete_targ' above. However unlike
'imprint_complete_targ', if general topology is not
enabled in the session, then 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 Completing imprints 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 Completing imprints for more
information.
'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.