Hide menu
Loading...
Searching...
No Matches
PMI Exploration 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