 |
PK_FACE_change_offset_o_t |
|
struct PK_FACE_change_offset_o_s
{
int o_t_version;
PK_offset_method_t offset_method; --- offset method
--- (PK_offset_method_sx_trim_c)
PK_LOGICAL_t report_sx; --- whether to report faces that have
--- been repaired to remove
--- self-intersections
--- (PK_LOGICAL_false)
PK_fix_degens_t fix_degens; --- control on repairing surface
--- degeneracies (PK_fix_degens_no_c)
PK_LOGICAL_t report_fix_degens;
--- whether to report faces that have
--- been modified by the 'fix_degens'
--- option (PK_LOGICAL_false)
PK_offset_step_t offset_step; --- whether to create a step offset
--- (PK_offset_step_no_c)
PK_FACE_t reference; --- reference face (PK_ENTITY_null)
PK_ref_alignment_t ref_alignment; --- alignment for reference face
--- (PK_ref_alignment_opposed_c)
};
typedef struct PK_FACE_change_offset_o_s PK_FACE_change_offset_o_t;
This structure contains offset-specific optional controls for PK_FACE_change.
Specific Errors:
PK_ERROR_not_implemented (MILD) a supplied enum value in the
options structure is not
implemented for this function
Used in:
PK_FACE_change_opts_t
Description of fields:
'offset_method' The method used for repairing self-intersections
caused by offsetting surfaces in the body.
Note that, for facet geometry, there is only one
method for repairing self-intersections, so this
option is ignored for facet geometry.
The default value is PK_offset_method_sx_trim_c.
'report_sx' If this is set to PK_LOGICAL_true, then a report will
be returned in the Parasolid report stream containing
a record of type PK_REPORT_record_type_1_c. This
record will have a status of
PK_REPORT_1_fa_sx_repair_c and will contain
information on faces that have been repaired in order
to remove self-intersections. The report will contain
faces that have been repaired by the method of
b-surface patching, as specified by setting
'offset_method' to a value other than
PK_offset_method_sx_trim_c. The faces will be returned
as followed:
o As 'old_items', a list of repaired faces that
existed on the original body.
o As 'new_items', a list of repaired faces that
exist on the resultant body.
If 'offset_method' is set to
PK_offset_method_sx_trim_c, then no report will be
returned.
The default value is PK_LOGICAL_false.
'fix_degens' Controls when to repair degeneracies on surfaces. If
set to PK_fix_degens_offset_c, this option improves
the reliability when offsetting surfaces with
degeneracies, by modifying the surfaces in the regions
near the degeneracies.
If 'reference' is set to PK_ENTITY_null, then
PK_fix_degens_all_c may not be used for this option.
If 'reference' is not PK_ENTITY_null, then:
o PK_fix_degens_all_c indicates that the reference
face should be modified as well as the dependent
offset face, so that the dependent face is an
exact offset of the reference.
o PK_fix_degens_offset_c indicates that the
reference face should not be modified, unless the
reference face also has an offset operation
applied to it.
The default value is PK_fix_degens_no_c.
'report_fix_degens' If this is set to PK_LOGICAL_true, then information
will be returned in the Parasolid report stream about
surfaces that have been repaired in order to improve
the reliability of offsetting degenerate surfaces, as
specified by the option 'fix_degens'. Each record will
be of type PK_REPORT_record_type_1_c and will have a
status of PK_REPORT_1_fa_fix_degens_c. It will
contain:
o As 'old_items', a set of faces on the original
body, followed by the original surface that they
share, which was repaired. In the case where the
original surface was an offset surface, this is
followed by the underlying b-surface.
o As 'new_items', the corresponding repaired
b-surface, followed by the corresponding offset
surface, followed by the corresponding faces on
the resultant body that the surfaces belong to.
If 'fix_degens' is set to PK_fix_degens_no_c, or no
surfaces are repaired, then no reports of this type
will be returned.
The default value is PK_LOGICAL_false.
'offset_step' A "boundary edge" is an edge between a face which is
being offset and one which is not or between two faces
being offset different distances. If this option is
set to PK_offset_step_pierce_c then side faces will
be created along any smooth boundary edges between a
face which is being offset and one which is not. If
this option is set to PK_offset_step_all_c then side
faces will be created along any smooth boundary
edges. If this option is set to PK_offset_step_site_c
then side faces will be created along any smooth
boundary edges but will not be created if this can be
done by growing site faces. Site faces with facet
geometry will not be grown.
This option has no effect on the result if
there are no smooth boundary edges.
The default value is PK_offset_step_no_c.
See here for more
information.
See here for more information.
'reference' If a reference face is specified then all the changed
faces will become offsets of this face instead and be
oriented according to the value of 'ref_alignment'.
In this case, 'offset_step' must be
PK_offset_step_no_c.
The default value is PK_ENTITY_null.
'ref_alignment' If a reference face is specified then this option is
used to control the orientation of the offset face
with respect to the reference face.
It has two possible values
o PK_ref_alignment_opposed_c - The offset face is
oriented in the opposite direction to the
reference face.
o PK_ref_alignment_aligned_c - The offset face is
oriented in the same direction as the
reference face.
The default value is PK_ref_alignment_opposed_c.