Explores PMI attached to various entities inside a 3D model.
Description
To explore PMI::Element stored in PMI::Data we use a range-based for
loop.
PMI::SemanticRepresentation and PMI::GraphicalRepresentation can be accessed via PMI::Element class.
To explore PMI elements we use PMI::SemanticComponentVisitor and PMI::GraphicalComponentVisitor classes. In this example we implement methods which are called when a component of a particular type is being visited.
|__Assembly: nist_ctc_02_asme1
| |__Instance: <noname>
| |__Part: COMPOUND
| |__PMI Data:
| | |__PMI Element: Feature Control Frame (14)
| | |__ Graphical Representation:
| | | |__ Outline
| | | |__ PolyLine set [23 polylines]
| | |__PMI Element: Feature Control Frame (14)
| | |__ Semantic Representation:
| | | |__ Geometric tolerance
| | | |__ Magnitude: 0.25
| | | |__ Type of tolerance: 7
| | | |__ Tolerance zone form: 0
| | | |__ DatumRefCompartment:
| | | |__ References:
| | | |__ DatumRef: precedence=1, targetLabel=A
| | | |__ Modifiers:
| | | |__ DatumTarget: index=2, description=point
| | | |__ DatumRefCompartment:
| | | |__ References:
| | | |__ DatumRef: precedence=1, targetLabel=B
| | | |__ Modifiers:
| | | |__ DatumTarget: index=1, description=point
| | | |__ DatumRefCompartment:
| | | |__ References:
| | | |__ DatumRef: precedence=1, targetLabel=C
| | | |__ Modifiers:
| | | |__ DatumTarget: index=1, description=point
| | |__ Graphical Representation:
| | | |__ Outline
| | | |__ PolyLine set [23 polylines]
...
For more information about PMI entities please visit the PMI Guide.
Usage
You can try this example with the following model:
./examples/models/nist_ctc_02_asme1_ap242-1.stp
Files