PK_BODY_extrude_o_t   

struct PK_BODY_extrude_o_s
    {
    int                   o_t_version;    --- options structure version number
    PK_bound_def_t        start_bound;    --- starting bound of swept body
                                          --- ( PK_bound_distance_c,
                                          ---   PK_LOGICAL_true,
                                          ---   0.0,
                                          ---   PK_ENTITY_null,
                                          ---   PK_LOGICAL_true,
                                          ---   1,
                                          ---   PK_bound_side_both_c
                                          --- )
    PK_bound_def_t        end_bound;      --- ending bound of swept body
                                          --- ( PK_bound_distance_c,
                                          ---   PK_LOGICAL_true,
                                          ---   1.0,
                                          ---   PK_ENTITY_null,
                                          ---   PK_LOGICAL_true,
                                          ---   1,
                                          ---   PK_bound_side_both_c
                                          --- )
    PK_BODY_t             extruded_body;  --- body to use instead of swept
                                          --- profile( PK_ENTITY_null )
    PK_LOGICAL_t          allow_disjoint; --- swept body can have a disjoint
                                          --- division ( PK_LOGICAL_false )
    PK_PARAM_consistent_t consistent_params;
                                          --- whether to ensure consistent
                                          --- parameterisation
                                          --- ( PK_PARAM_consistent_unset_c)
    PK_LOGICAL_t          have_pline_angle;
                                          --- whether 'pline_angle' is
                                          --- supplied ( PK_LOGICAL_true )
    double                pline_angle;    --- angle used for controlling the
                                          --- splitting of the resulting
                                          --- extrude ( pi/2 )
    PK_BODY_keep_as_facet_t
                          keep_as_facet;  --- whether to keep the resultant
                                          --- extrude as a facet body when the
                                          --- input body is purely facet
                                          --- (PK_BODY_keep_as_facet_yes_c)
    };
typedef struct PK_BODY_extrude_o_s PK_BODY_extrude_o_t;



This structure provides options for a linear extrusion of a body.


Specific Errors:
    PK_ERROR_unsuitable_entity     'extruded_body' is provided but is either
                                   not a solid body when the 'profile' is a
                                   sheet body, or is not a sheet body when the
                                   'profile' is a wire body (MILD)

    PK_ERROR_bad_angle             'pline_angle' is provided but isn't within
                                   the interval ( 0.0, pi ) (MILD)

    PK_ERROR_inconsistent_geom     'keep_as_facet' is
                                   PK_BODY_keep_as_facet_yes_c, the profile
                                   contains only facet geometry, and either
                                   (a) the bound method is not
                                   PK_bound_surf_c, or (b) the bound entity
                                   is a classic surface of a class other than
                                   PK_CLASS_plane (MILD)


Used in:

PK_BODY_extrude


Its fields are:

'start_bound'         How the extruded body is to be bound at the start bound.
                      See documentation for PK_bound_def_t.

'end_bound'           How the extruded body is to be bound at the end bound.
                      See documentation for PK_bound_def_t.

Note: 'start_bound' and 'end_bound' must occur in that order along
the given 'path' vector.


'extruded_body'       Perform the bounding on this body instead of the swept
                      profile.

'allow_disjoint'      Whether the resulting extruded body can have disjoint
                      components.

'consistent_params'   Whether or not to always make the parameterisation
                      consistent with the sweep direction.

'have_pline_angle'    Whether 'pline_angle' is supplied.

'pline_angle'         For profiles with facet geometry, if the angle (in
                      radians) between polyline segments, when viewed down
                      the direction of extrusion, is greater than or equal to
                      'pline_angle' then an additional edge will be introduced
                      in the resulting body, extruded from that position. On
                      wire profiles this applies to any polyline, and on sheet
                      profiles this applies only to polylines on laminar
                      edges.
                      If 'have_pline_angle' is set to PK_LOGICAL_false, the
                      angle criterion won't be used to split edges.
                      See also #here#DOCXXXX# for more information.
                      Note: this option has no effect if an 'extruded_body' is
                      supplied.

'keep_as_facet'       Whether the resultant extrude body is to contain only
                      facet geometry.
                      Note: this option has no effect if the extrude profile
                      contains any classic geometry.