The PMI Explorer Viewer displays Product Manufacturing Information from MTKWEB files. It keeps the model structure and PMI structure side by side, lets users enable PMI from selected model nodes, applies saved views, and exposes semantic PMI information.

Use this example when a model carries PMI:
Unlike the base viewer, PMIExplorerViewer owns separate model and PMI structures plus separate highlight managers. This keeps model geometry, graphical PMI, and semantic PMI selection independent.
| Source | Description |
|---|---|
PMIExplorerViewerreact/src/pages/pmi-explorer-viewer/PMIExplorerViewer.tsx | Main page component. It renders the model tree, PMI source buttons, highlight mode selector, saved-view selector, PMI tree, semantic panel, and viewport. |
SemanticInformationPanelreact/src/pages/pmi-explorer-viewer/ui/SemanticInformationPanel.tsx | Shows semantic PMI rows for selected PMI elements with semantic components or attributes. |
NoRepresentationMarkerreact/src/pages/pmi-explorer-viewer/ui/NoRepresentationMarker.tsx | Marks model parts that have no visual representation. |
NoGraphicalPMIMarkerreact/src/pages/pmi-explorer-viewer/ui/NoGraphicalPMIMarker.tsx | Marks PMI elements that have semantic data but no graphical PMI geometry. |
Treereact/src/common/ui/tree/Tree.tsx | Renders both the model tree and PMI tree, with different node icons, title renderers, checkability rules, and filters. |
SemanticInformationRowCollectorreact/src/pages/pmi-explorer-viewer/semantic-information/SemanticInformationRowCollector.ts | Visits semantic PMI components and attributes to produce table rows. |
| Source | Description |
|---|---|
PMIExplorerViewershared/src/viewers/pmi-explorer-viewer/PMIExplorerViewer.ts | Loads the model, builds model and PMI structures, manages PMI source nodes, saved views, PMI visibility, and camera restoration. |
PMIStructureBuildershared/src/features/pmi/structure/PMIStructureBuilder.ts | Builds PMI tree nodes and graphical PMI objects from enabled model nodes. |
PMIStructure and PMI nodesshared/src/features/pmi/structure/PMIStructure.ts | Store PMI roots, groups, elements, saved-view names, and PMI element naming helpers. |
PMIHighlightManagershared/src/features/pmi/interaction/PMIHighlightManager.ts | Maps PMI intersections and PMI tree nodes to highlight state. |
ModelStructureBuilder and ModelHighlightManagershared/src/features/model/ | Build and highlight the product model shown alongside PMI. |
shared/src/features/pmi/ | Contains PMI structure building, highlight mapping, and PMI tree node types. |