pub struct SketchProfile {
pub origin: Vec3,
pub x_axis: Vec3,
pub y_axis: Vec3,
pub z_axis: Vec3,
pub regions: Vec<Vec<ProfileLoop>>,
}Expand description
A solved sketch’s extracted profile, placed in 3D. Produced by the SKETCH
pipeline feature and consumed BY NAME by the profile-consumers (extrude,
revolve, loft, sweep, rib, sheet-metal tab/contour-flange) — the exact-BREP
replacement for the old “marshal the resolved curves into inputParams”.
The closed loops are grouped into disjoint REGIONS by even-odd containment
depth: a depth-EVEN loop is a region’s OUTER boundary, a depth-ODD loop is a
hole of the region whose outer directly contains it (so an island inside a
hole is its own region). Each region is [outer, holes…]; consumers build
one solid per region and UNION them — the established multi-region behavior.
The plane frame (origin + orthonormal x_axis/y_axis/z_axis) is resolved
LIVE in Rust from the sketch’s plane reference (DATUM/PLANE feature frame or a
resident face), falling back to the persisted basis; the loop curves are
emitted in WORLD space via that frame, so z_axis is the natural extrude
direction / a revolve-plane hint.
Fields§
§origin: Vec3§x_axis: Vec3§y_axis: Vec3§z_axis: Vec3§regions: Vec<Vec<ProfileLoop>>Disjoint regions, each [outer, holes…] (containment-classified).
Trait Implementations§
Source§impl Clone for SketchProfile
impl Clone for SketchProfile
Source§fn clone(&self) -> SketchProfile
fn clone(&self) -> SketchProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more