struct PK_FACE_make_blend_o_s
{
int o_t_version; --- version number of options
PK_blend_trim_t trim; --- blend trimming option
--- (PK_blend_trim_to_walls_c)
PK_blend_walls_t walls; --- wall trimming option
--- (PK_blend_walls_attach_c)
PK_blend_shape_t shape; --- shape of blend
PK_blend_constraint_t constraints; --- constraints on blend
PK_blend_rib_control_t rib_control; --- blend section requests
double tolerance; --- tolerance (1.0e-05)
PK_LOGICAL_t have_help_point; --- (PK_LOGICAL_false)
PK_VECTOR_t help_point; --- help point
PK_LOGICAL_t multiple; --- create multiple blend sheets
--- (PK_LOGICAL_false)
PK_blend_propagate_t propagate; --- whether to propagate
--- (PK_blend_propagate_no_c)
PK_LOGICAL_t notch; --- enable blends to notch
--- (PK_LOGICAL_false)
PK_LOGICAL_t local_check; --- whether local checks required
--- (PK_LOGICAL_false)
PK_blend_local_check_t checks; --- which local checks to perform
PK_blend_update_t update; --- disable changes for updates
--- (PK_blend_update_1_c)
PK_SURF_t user_surface; --- user supplied blend surface
--- (PK_ENTITY_null)
};
typedef struct PK_FACE_make_blend_o_s PK_FACE_make_blend_o_t;
This structure contains options for face face blending.
The PK_FACE_make_blend_o_t contains the following options:
Trimming Options.
trim this option can have the values:
PK_blend_trim_no_c Do not trim blend.
The blend will not be trimmed to the wall
extent. Its end boundaries will be constant
parameter lines.
PK_blend_trim_short_c Short trim to walls.
The blend end boundaries will be the
constant parameter lines determined by
the wall boundaries such that the blend
is as short as possible.
PK_blend_trim_long_c Long trim to walls.
The blend end boundaries will be the
constant parameter lines determined by the
wall boundaries such that the blend is as
long as possible.
PK_blend_trim_to_walls_c Trim blend to walls.
The blend end boundaries will be determined
by the wall boundaries.
(default)
walls this option can have the values:
PK_blend_walls_trim_no_c Do not trim walls.
The walls will not be trimmed.
The blend will not be attached to the walls
but will be created as a separate
sheet body.
PK_blend_walls_trim_both_c Trim both walls.
The walls will be trimmed by the
blend boundaries.
The blend will not be attached to the walls
but will be created as a separate
sheet body.
This token is only valid if the blend is
being formed between two sheet bodies.
PK_blend_walls_attach_c Trim walls and attach blend.
The walls will be trimmed by the blend
boundaries.
The blend will be attached to the walls.
If the walls lie in different bodies the
bodies will be combined, with the body
containing the left wall being
considered as the target body. If
left_sense and right_sense are
not the same, the body containing the right
wall will be negated in order to produce
a consistent result.
(default)
PK_blend_walls_solid_c Trim walls, attach blend and make solid
(as above) and create solid body if possible
If this option is supplied and the
result of the blending operation
encloses a volume then a solid body will
be created. Otherwise a sheet body
will be returned.
For further details on the use of these tokens please refer to the Parasolid
Functional Description Chapter "Face-face Blending".
Blend Shape Options.
xsection Cross section plane, may be one of:
PK_blend_xs_rolling_ball_c (default) or
PK_blend_xs_disc_c or
PK_blend_xs_isoparameter_c
radius Radius of constant radius blend. (default 0.0)
parameter 3D parameter curve
range1 1D law function; ranges off left
range2 1D law function; ranges off right
rho 1D law function; rhos for general conics
depth 2D law curve for curvature continuous blends
width Width of blend for defining constant width blends.
ratio Ratio of blend ranges for constant width blends. The ratio is
defined as "ranges off left" / "ranges off right". The default
is 1.0 i.e. equal ranges.
xs_shape Cross section shape, may be one of:
PK_blend_xs_shape_unset_c (default)
PK_blend_xs_shape_conic_c
PK_blend_xs_shape_g2_c
PK_blend_xs_shape_chamfer_c
For further details on the use of these options please refer to the Parasolid
Functional Description Chapter "Face-face Blending".
Blend Constraint Options:
cliff_edges Blend is constrained by cliff edges.
An array of edge tags is given.
The blend will be constrained to be cliffedge blend in the
region of the given edges.
tangent_edges Blend is constrained by tangent hold lines.
An array of edge tags is given.
The blend will be constrained to be a tangent
hold line blend in the region of the given edges.
For constant and variable radius rolling ball or disc blends
the blend need not be constrained by these edges. If the
blend is a variable radius rolling ball or disc blend, the
left and right ranges of the law curve must be equal.
conic_edges Blend is constrained by conic hold lines.
An array of edge tags is given.
The blend will be constrained to be a conic hold line
blend in the region of the given edges.
For constant and variable radius rolling ball blends
blend need not be constrained by these edges. If the
blend is a curvature continuous blend then cliff_edges
and tangent_edges must not be set, and the number of edge
tags in the array must be at least two.
inv_tangent_edges
Blend is constrained by inverted tangent hold lines.
An array of edge tags is given.
The blend will be constrained to be a tangent
hold line blend in the region of the given edges.
For constant and variable radius rolling ball or disc blends
the blend need not be constrained by these edges. If the
blend is a variable radius rolling ball or disc blend, the
left and right ranges of the law curve must be equal.
inv_conic_edges
Blend is constrained by inverted conic hold lines.
An array of edge tags is given.
The blend will be constrained to be a conic hold line
blend in the region of the given edges.
For constant and variable radius rolling ball blends
blend need not be constrained by these edges. If the
blend is a curvature continuous blend then cliff_edges
and tangent_edges must not be set, and the number of edge
tags in the array must be at least two.
limit_1
limit_2 Limit Planes.
One or two planes may be specified.
The blend will be trimmed to end in a constant parameter
line determined by a plane. The blend will lie on the
positive side of the plane.
For further details on the use of these options please refer to the Parasolid
Functional Description Chapter "Face-face Blending".
Blend Rib Controls.
output_rib Control how ribs are produced.
This token controls under what circumstances face-face
blending will produce ribs. The default is to not
output ribs.
group_rib Control how to group the ribs produced.
Grouping controls how the limit on the number of ribs
is applied. This token defines whether the ribs are
grouped by blend face, or by the intervals along the
parameter curve defined by interval_parms,
or not at all (default).
max_n_ribs Limit on number of ribs produced per group.
The number of ribs produced in each group will be no
greater than this number. The default value is zero,
for which no ribs will be produced.
n_interval_parms Number of interval_parms supplied.
Default is zero.
interval_parms Interval parameters.
These are used to divide the parameter curve into
intervals for grouping ribs. They should have values
in the parameter range of the curve.
For further details on the use of these options please refer to the Parasolid
Functional Description Chapter "Face-face Blending".
Control Options.
tolerance A tolerance is associated with this blend.
have_help_point Whether a help point is provided
help_point Help point provided.
A vector, which will be used to differentiate between
multiple alternative possible blends between the walls.
If there is a blend which passes
close to the help point, it will be the one created.
multiple Create multiple blends sheets.
PK_FACE_make_blend will only create one blend unless
this option is set to PK_LOGICAL_true, in which case
it will create all blends which lie in at least one of the
master faces.
propagate Propagate blends.
If this token is given the blends will be allowed
to propagate past smooth edges beyond the provided walls.
notch End Overflow
If this options is set to PK_LOGICAL_true the blend will
be allowed to extend past notches, whether in the middle
or at the end of the blend.
local_check If this option is set to PK_LOGICAL_true, then
checks will be ignored, and the level of local checking
will be:
Surface self-intersection checks on all surfaces
except B-surfaces will be performed
Face checks will be performed
Face-face inconsistency checks will be perfomed.
If this option is set to PK_LOGICAL_false,
then the amount of local checking will
be determined by checks.
checks Controls the amount of checking required. Ignored unless
local_check is set to PK_LOGICAL_false.
update This option allows the disabling of some changes to the
blending algorithms for rebuild purposes. It should be set
to PK_blend_update_0_c for updating v9.1 models.
user_surface This option allows users to users to supply a blend surface
to the face-face blending algorithm. The surface must be
within tolerance of the faces being blended. Parasolid
will attempt to use a given surface as a blend surface even
if this appears to be inconsistent with the left_sense and
`right sense' arguments.
For further details on the use of these options please refer to the Parasolid
Functional Description Chapter "Face-face Blending".