Expand description
Product structure of STEP assemblies (ISO 10303-21 files of AP203, AP214
and AP242) as a BOM table for the import (see
crate::services::imports).
The reader looks at the product structure only, never at the geometry:
PRODUCT('id', 'name', 'description', …)– a part or an assembly; the id is its part number,PRODUCT_DEFINITION_FORMATION(_WITH_SPECIFIED_SOURCE)andPRODUCT_DEFINITION– the version and the definition the structure links,NEXT_ASSEMBLY_USAGE_OCCURRENCE(…, #parent, #child, …)– one placed occurrence of a component; the quantity is the number of occurrences below the same parent.
The assembly is the product that no other product uses; with several of
them, each becomes a component of the new assembly. A sub-assembly lists
its components at its first occurrence only (the import reads the BOM of a
component once). Complex instances (#1 = (A() B());) and the quantities
of QUANTIFIED_ASSEMBLY_COMPONENT_USAGE are not read.
An own minimal Part 21 reader: ruststep was rejected as a direct
dependency (see docs/OPEN_WORK.md), and only five entity types are needed.
Functions§
- external_
instance_ counts - How often a STEP assembly with external references places each
referenced file (#247): the parts live in their own files
(
'bolt.stp'), the assembly file holds the structure. Which file a product definition stands for is read from - is_step
- Whether the file name is a STEP file (
.step,.stp,.p21). - read
- Reads the product structure of a STEP file.