pub struct PmiSection {
pub axis: String,
pub offset: f64,
pub flip: bool,
pub origin: Option<[f64; 3]>,
pub normal: Option<[f64; 3]>,
pub plane: Option<String>,
pub exclude: Vec<String>,
pub planes: Vec<PmiSectionPlane>,
}Expand description
A display-only half-space through origin plus an offset along the normal.
origin (and, for the View axis, normal) is frozen from the captured
camera when the section is set, so re-capturing the camera does not move
the cut. A section saved before they existed reads the camera instead.
The Plane axis takes both from plane, a planar face or reference plane
the run resolves each time (see PmiViewReport::section_plane).
Fields§
§axis: String§offset: f64§flip: bool§origin: Option<[f64; 3]>§normal: Option<[f64; 3]>§plane: Option<String>§exclude: Vec<String>Solids and components the cut leaves whole (shafts, fasteners): a solid’s scene name, or a component id standing for all its solids.
planes: Vec<PmiSectionPlane>Further cutting planes. Material is removed only where EVERY plane removes it: one more plane makes a half section (a quarter cut away), two more a corner cut away. Each is an axis through the section’s origin, offset along its normal.
Implementations§
Source§impl PmiSection
impl PmiSection
Sourcepub fn excludes(&self, solid: &str) -> bool
pub fn excludes(&self, solid: &str) -> bool
Whether the solid named solid is left uncut: it is listed, or it
belongs to a listed component (ACOMP1 covers ACOMP1:Part and a
nested ACOMP1:ACOMP2:Part).