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>
impl<'m> ProductDef<'m>
Sourcepub fn key(&self) -> EntityKey
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).
pub fn id(&self) -> &'m str
pub fn description(&self) -> Option<&'m str>
Sourcepub fn product(&self) -> Option<Product<'m>>
pub fn product(&self) -> Option<Product<'m>>
The product this definition belongs to (forward: formation → of_product).
Sourcepub fn occurrences(&self) -> impl Iterator<Item = Occurrence<'m>> + 'm
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).
Sourcepub fn children(&self) -> impl Iterator<Item = ProductDef<'m>> + 'm
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).
Sourcepub fn parents(&self) -> impl Iterator<Item = ProductDef<'m>> + 'm
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).
Sourcepub fn solids(&self) -> impl Iterator<Item = Solid<'m>> + 'm
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.
Sourcepub fn features(&self) -> impl Iterator<Item = Feature<'m>> + 'm
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.
Sourcepub fn dimensions(&self) -> impl Iterator<Item = Dimension<'m>> + 'm
pub fn dimensions(&self) -> impl Iterator<Item = Dimension<'m>> + 'm
The dimensions of this part (those whose targeted feature is on it).
Sourcepub fn tolerances(&self) -> impl Iterator<Item = Tolerance<'m>> + 'm
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).
Sourcepub fn datums(&self) -> impl Iterator<Item = Datum<'m>> + 'm
pub fn datums(&self) -> impl Iterator<Item = Datum<'m>> + 'm
The datums of this part (DATUM / COMMON_DATUM whose of_shape is on it).
Sourcepub fn version(&self) -> Option<&'m str>
pub fn version(&self) -> Option<&'m str>
The version identifier of this part — its PRODUCT_DEFINITION_FORMATION.id.
Sourcepub fn contributors(&self) -> Vec<Contributor<'m>>
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.
Sourcepub fn approvals(&self) -> Vec<Approval<'m>>
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).
Sourcepub fn documents(&self) -> Vec<Document<'m>>
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.
Sourcepub fn security_classifications(&self) -> Vec<SecurityClassification<'m>>
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>
impl<'m> Clone for ProductDef<'m>
Source§fn clone(&self) -> ProductDef<'m>
fn clone(&self) -> ProductDef<'m>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more