 |
PK_BODY_make_section_o_t |
|
struct PK_BODY_make_section_o_s
{
int o_t_version; --- version number
double default_tol; --- (1.0E-5)
double max_tol; --- (0.0)
PK_LOGICAL_t tracking; --- (PK_LOGICAL_false)
PK_LOGICAL_t allow_disjoint; --- (PK_LOGICAL_false)
PK_BODY_type_t result_body_type; --- (PK_BODY_type_sheet_c)
PK_boolean_update_t update; --- (PK_boolean_update_default_c)
PK_BODY_keep_as_facet_t keep_as_facet; --- (PK_BODY_keep_as_facet_yes_c)
int n_offsets; --- (0)
const double *offsets; --- (NULL)
PK_CLASS_array_t banned_classes; --- (0, NULL)
};
typedef struct PK_BODY_make_section_o_s PK_BODY_make_section_o_t;
This option structure is supplied to a section operation for bodies.
Used in:
PK_BODY_make_section
PK_BODY_make_section_with_surfs
Description of fields:
'default_tol' The default tolerance to which the boolean
operation, if it has to, may approximate entities
or assume that entities are coincident. This value
should be set to a value that is related to the
tolerance to which the application is creating
approximations.
If this field is set to zero (0.0), it is assumed
that the decision to set tolerances on entities is
being left to the modeller.
This field is not used by PK_BODY_make_section.
'max_tol' This value specifies the maximum tolerance which may
be applied to any entity involved in the boolean
operation.
If this field is set to zero (0.0), the default, then
it assumed that no upper limit has been set on the
tolerance of any entity.
If the field is not set to zero (0.0), then it must be
set to a value that is greater than the value of the
'default_tol' field.
This field is not used by PK_BODY_make_section.
'tracking' If this option is set to PK_LOGICAL_true, tracking
information for all faces and edges of the resultant
bodies is returned.
'allow_disjoint' If this option is set to PK_LOGICAL_false, each
resultant body will contain a single connected
component.
'result_body_type' This option controls the type of resultant bodies.
Permitted values are:
PK_BODY_type_sheet_c
PK_BODY_type_wire_c
'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)
'keep_as_facet' This option controls whether the result bodies are to
contain only facet geometry.
Note: this option is ignored in calls to
PK_BODY_make_section or if the
target bodies contain any classic geometry.
'n_offsets' This specifies the number of entries in 'offsets'.
'offsets' Specifies the offset distances. A positive offset
indicates an offset in the direction of the surface
normal and a negative offset indicates an offset in
the opposite direction. To produce a section with the
tool surface in its original position when
'n_offsets'!=0 an offset of zero must be supplied.
If this option is used 'tools' must contain a single
surface, the surface must be a plane, 'keep_as_facet'
must be PK_BODY_keep_as_facet_no_c and
'result_body_type' must be PK_BODY_type_wire_c.
Note: This option is not supported by
PK_BODY_make_section.
'banned_classes' Controls the classes of curves that may appear on
resultant bodies.
If this array is empty resultant bodies may contain
curves of any class.
Otherwise, 'tools' must contain a single surface,
the surface must be a plane, 'result_body_type'
must be PK_BODY_type_wire_c and 'banned_classes'
must contain PK_CLASS_bcurve and PK_CLASS_spcurve
and must not contain PK_CLASS_pline (Parasolid then
converts any curves of banned classes to polylines).
Note: This option is not supported by
PK_BODY_make_section.