The open, cross-discipline 3D plant model exchange format
Specification · JSON Schemas · Examples · Adapters · Roadmap · Discord
This project is under active development and not yet production-ready. All specifications, schemas, and catalogs are subject to change without notice. Use at your own risk. We are actively looking for supporters and contributors — whether you are an engineer, developer, standards expert, or domain specialist, your input is welcome. See CONTRIBUTING.md or join our Discord to get involved.
PMEF is an open, semantically rich, cross-discipline 3D plant model exchange format for industrial facilities. It solves a problem that has cost the engineering industry billions in rework: every major plant design tool uses a completely isolated, proprietary data format.
| Tool | Format | Open? | 3D + Semantics? | Cross-discipline? |
|---|---|---|---|---|
| AVEVA E3D | RVM / Dabacon DB | Partial | ✅ | ❌ |
| Hexagon Smart 3D | VUE / SQL Server | ❌ | ✅ | ❌ |
| AutoCAD Plant 3D | PCF / DWG | Partial | Partial | ❌ |
| CADMATIC | 3DDX / DGN | ❌ | ✅ | ❌ |
| Bentley OpenPlant | DGN / iModel | Partial | ✅ | Partial |
| PMEF | NDJSON + PMEFX | ✅ 100% | ✅ | ✅ |
PMEF provides:
- Canonical information model grounded in ISO 15926-14/IDO, DEXPI 2.0, CFIHOS V2.0
- Parametric geometry library (15 primitive types, RVM-inspired)
- Three geometry layers: parametric primitives · glTF 2.0 mesh · STEP AP242 B-Rep
- Git-friendly NDJSON serialisation with object-level versioning
- Bidirectional adapters for 14+ engineering tools across 8 disciplines
- Apache 2.0 Rust core library + thin adapter plugins
Piping · Equipment · Structural Steel · E&I · Pipe Stress · ERP/EAM · Simulation · Civil
# Using the PMEF CLI (once published to crates.io)
cargo install pmef-cli
pmef validate my-plant.ndjson
# Or with Docker
docker run --rm -v $(pwd):/data ghcr.io/pmef/pmef-cli:latest validate /data/my-plant.ndjsonThe examples/pump-skid-complete.ndjson contains a fully annotated pump skid (P-201A + V-201 + lines CW-201/202) with:
pmef:Pumpwith API 610 spec, 3 nozzles, VFD drivepmef:Vesselwith EN 13445 design, composite geometry- Full piping run: Pipe → Elbow → Flange → Gasket → Valve
- Weld records, pipe support, fabrication spool
All schemas live in schemas/. Open them in any JSON Schema-aware editor
(VS Code,
Insomnia, Stoplight Studio) for autocomplete.
schemas/
pmef-base.schema.json — shared primitives (IDs, coordinates, revisions)
pmef-piping-component.schema.json— PipingNetworkSystem → PipingSegment → 12 component types
pmef-equipment.schema.json — 10 equipment types (Vessel, Pump, HX, Column, Reactor…)
pmef-geometry.schema.json — 15 parametric primitives
pmef-property-sets.schema.json — all property-set definitions (CFIHOS-aligned)
┌─────────────────────────────────────────────────────┐
│ PMEF Package (.pmefx) │
│ │
│ model/ geometry/ catalogs/ │
│ ├─ piping.ndjson ├─ parametric.ndjson ├─ piping-spec│
│ ├─ equipment.ndjson├─ model.glb └─ profiles │
│ ├─ structural.ndjson├─ model.usdc │
│ └─ ei.ndjson └─ model.stp documents/ │
└─────────────────────────────────────────────────────┘
↑↓ bidirectional adapters
┌──────────┬──────────┬──────────┬──────────┬─────────┐
│AVEVA E3D │Smart 3D │Plant 3D │CADMATIC │OpenPlant│
│Tekla │Revit │EPLAN P8 │COMOS │INOSIM │
│Creo │CATIA │TIA Portal│SAP EAM │Emulate3D│
└──────────┴──────────┴──────────┴──────────┴─────────┘
| Layer | Content | Format |
|---|---|---|
| 1 — Core Ontology | ISO 15926-14/IDO subset, DEXPI 2.0, IEC 81346, CFIHOS | OWL 2 (normative), JSON Schema |
| 2 — Information Model | Entity types, relationships, property sets | JSON Schema Draft 2020-12 + UML |
| 3 — Serialisation | NDJSON (primary), CAEX XML (secondary), AASX container | RFC 7464, IEC 62424 |
| 4 — Geometry | Parametric primitives, glTF 2.0 mesh, STEP AP242 B-Rep, OpenUSD | PMEF spec, Khronos, ISO 10303 |
| 5 — Adapters | Tool-specific import/export plugins | Rust crates (Apache 2.0) |
pmef/specification
├── CHANGELOG.md — version history
├── CONTRIBUTING.md — how to contribute
├── ROADMAP.md — milestone plan
├── GOVERNANCE.md — TSC and working group rules
├── CODE_OF_CONDUCT.md — contributor covenant
│
├── spec/ — normative specification (Markdown)
│ ├── 01-introduction.md
│ ├── 02-information-model.md
│ ├── 03-serialisation.md
│ ├── 04-geometry.md
│ ├── 05-adapters.md
│ └── 06-conformance.md
│
├── schemas/ — JSON Schema (Draft 2020-12)
│ ├── pmef-base.schema.json
│ ├── pmef-piping-component.schema.json
│ ├── pmef-equipment.schema.json
│ ├── pmef-geometry.schema.json
│ └── pmef-property-sets.schema.json
│
├── diagrams/ — Mermaid UML diagrams
│
├── examples/ — annotated NDJSON reference instances
│ ├── pump-skid-complete.ndjson (PMEF-DS-01)
│ ├── heat-exchanger-station.ndjson(PMEF-DS-02)
│ └── eaf-segment.ndjson (PMEF-DS-05)
│
├── adapters/ — adapter specifications (code in separate repos)
│ ├── plant3d/
│ ├── cadmatic/
│ ├── e3d/
│ └── openplant/
│
├── catalog/ — open piping spec + profile catalogs
│ ├── profiles-en.json
│ ├── profiles-aisc.json
│ └── piping-class-a1a2.json
│
├── docs/ — design docs and guides
│ ├── design-decisions.md
│ ├── iso15926-mapping.md
│ ├── dexpi-alignment.md
│ └── getting-started.md
│
└── .github/
├── workflows/ — CI/CD pipelines
├── ISSUE_TEMPLATE/ — bug, feature, RFC templates
└── PULL_REQUEST_TEMPLATE/ — PR checklist
PMEF is designed to complement, not replace, existing standards:
| Standard | Relationship to PMEF |
|---|---|
| DEXPI 2.0 | PMEF extends DEXPI — adds 3D geometry + cross-discipline; imports DEXPI P&ID entities |
| ISO 15926-14/IDO | PMEF's upper ontology; rdlType URIs resolve via PCA-RDL SPARQL endpoint |
| CFIHOS V2.0 | PMEF property sets aligned to CFIHOS; PMEF exports CFIHOS-compatible handover packages |
| IFC 4.3 | PMEF imports/exports IFC via IfcOpenShell; complements IFC for process plant specifics |
| AutomationML/CAEX | PMEF's XML serialisation is CAEX-compatible; AML AR APC for E&I/PLC data |
| IEC 81346 | PMEF's iec81346 designation block uses IEC 81346 aspects (=, -, +) |
| ISO 19650 | PMEF adopts ISO 19650 CDE workflow (WIP→SHARED→PUBLISHED→ARCHIVED) |
| AAS / IEC 63278 | PMEF exports AAS submodels; PMEF-DEXPI submodel (IDTA 02016) aligned |
We welcome contributions of all kinds — see CONTRIBUTING.md for details.
Quick links:
| Artefact | Licence |
|---|---|
| Specification (Markdown, schemas, diagrams) | CC BY 4.0 |
| Reference implementation (Rust crates) | Apache 2.0 |
| Examples and test data | CC0 1.0 — no rights reserved |
© 2026 PMEF Contributors