Hide menu
Loading...
Searching...
No Matches
PMI Example

Table of Contents

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