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