PK_FACE_make_blend_o_t   


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".