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