Skip to main content

ProductDef

Struct ProductDef 

Source
pub struct ProductDef<'m> { /* private fields */ }
Expand description

A product definition (PRODUCT_DEFINITION) — a view of a product that owns shape and participates in the assembly tree.

Implementations§

Source§

impl<'m> ProductDef<'m>

Source

pub fn key(&self) -> EntityKey

This definition’s global identity (a Copy key for maps / deduplication; distinct from ProductDef::id, the STEP id string attribute).

Source

pub fn id(&self) -> &'m str

Source

pub fn description(&self) -> Option<&'m str>

Source

pub fn product(&self) -> Option<Product<'m>>

The product this definition belongs to (forward: formation → of_product).

Source

pub fn occurrences(&self) -> impl Iterator<Item = Occurrence<'m>> + 'm

The component occurrences directly under this definition — each a usage (NAUO) carrying the child definition and its placement transform (reverse: a NAUO whose relating is this definition).

Source

pub fn children(&self) -> impl Iterator<Item = ProductDef<'m>> + 'm

Component definitions directly under this one in the assembly tree — the occurrences resolved to their child definitions (drops the placement).

Source

pub fn parents(&self) -> impl Iterator<Item = ProductDef<'m>> + 'm

Assembly definitions this one is a component of (reverse: a NAUO whose related is this definition → its relating).

Source

pub fn solids(&self) -> impl Iterator<Item = Solid<'m>> + 'm

The b-rep solids of this definition’s shape — the bridge into the geometry handles. Reverse: a PRODUCT_DEFINITION_SHAPE referencing this definition → a SHAPE_DEFINITION_REPRESENTATION referencing that shape → forward through its representation’s items to each MANIFOLD_SOLID_BREP. When the geometry lives in a separate representation bridged by a plain SHAPE_REPRESENTATION_RELATIONSHIP (the common AP242 assembly layout), the equivalence bridge is followed to collect those solids too.

Source

pub fn features(&self) -> impl Iterator<Item = Feature<'m>> + 'm

The shape features of this part (SHAPE_ASPECTs whose of_shape resolves to this definition). The model-wide Scene::features filtered to this part.

Source

pub fn dimensions(&self) -> impl Iterator<Item = Dimension<'m>> + 'm

The dimensions of this part (those whose targeted feature is on it).

Source

pub fn tolerances(&self) -> impl Iterator<Item = Tolerance<'m>> + 'm

The geometric tolerances of this part (those whose target — a feature or the whole part — is on it).

Source

pub fn datums(&self) -> impl Iterator<Item = Datum<'m>> + 'm

The datums of this part (DATUM / COMMON_DATUM whose of_shape is on it).

Source

pub fn version(&self) -> Option<&'m str>

The version identifier of this part — its PRODUCT_DEFINITION_FORMATION.id.

Source

pub fn contributors(&self) -> Vec<Contributor<'m>>

The people/organizations assigned to this part’s definition, product, or formation, each with the role they play.

Source

pub fn approvals(&self) -> Vec<Approval<'m>>

The approvals on this part — the APPROVALs assigned to its definition, product, or formation (each with a status, level, and approvers).

Source

pub fn documents(&self) -> Vec<Document<'m>>

The documents referenced by this part — drawings, specs, standards (reverse: an APPLIED_DOCUMENT_REFERENCE whose items include this definition, its product, or its formation), plus, for a ..._WITH_ASSOCIATED_DOCUMENTS definition, the documents it carries directly in documentation_ids.

Source

pub fn security_classifications(&self) -> Vec<SecurityClassification<'m>>

The security classifications assigned to this part — its confidentiality level and why (assigned to its definition, product, or formation).

Trait Implementations§

Source§

impl<'m> Clone for ProductDef<'m>

Source§

fn clone(&self) -> ProductDef<'m>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'m> Copy for ProductDef<'m>

Auto Trait Implementations§

§

impl<'m> Freeze for ProductDef<'m>

§

impl<'m> RefUnwindSafe for ProductDef<'m>

§

impl<'m> Send for ProductDef<'m>

§

impl<'m> Sync for ProductDef<'m>

§

impl<'m> Unpin for ProductDef<'m>

§

impl<'m> UnsafeUnpin for ProductDef<'m>

§

impl<'m> UnwindSafe for ProductDef<'m>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.