Docs / openbim
OpenBIM
Rig names OpenBIM meaning as rig.bim.*. IFC, BCF, and IDS files stay host mappings at the boundary - same rule as SVG (design philosophy).
OpenBIM (buildingSMART) is IFC + BCF + IDS + bSDD. The Contract job is entities, POD components, and schema ids. A converter or Revit/IFC pack is fulfillment (RigKit or a sibling tool), not this catalog.
Thin layer
Do not invent rig.bim.wall / rig.bim.door. One wall and one door use the same components; rig.bim.classify ifcClass is "IfcWall" vs "IfcDoor". Geometry stays on rig.cad.* / rig.geometry.mesh. Type-specific numbers that are not solids (fire rating, IsExternal) live in rig.bim.pset.
| OpenBIM idea | Rig |
|---|---|
| Element GlobalId / name | rig.meta.named |
| IFC class + predefined type + bSDD / Uniclass | rig.bim.classify |
| Type vs occurrence | rig.bim.type + rig.bim.occurrence |
| Property sets | rig.bim.pset |
| Site / building / storey / space | rig.bim.site / building / storey / space + rig.spatial.group |
| Containment (on storey) | rig.spatial.relationship parent |
| Voids / fills / connects / aggregates / services | rig.bim.relation (own entity) |
| Extrusion / mesh bake | rig.cad.extrude / rig.geometry.mesh |
| BCF topic / comment / viewpoint | rig.bim.topic / comment / viewpoint |
| IDS specification / facet | rig.bim.spec / facet |
| Source IFC release | optional document.ifcSchema (ifc2x3 / ifc4 / ifc4x3) |
Encodings (fulfillment)
| File | Role |
|---|---|
.ifc / .ifczip / ifcXML / ifcJSON |
Map into / out of rig.bim.* + spatial / cad |
.bcfzip / BCF-XML |
Map topics, comments, viewpoints |
.ids |
Map specifications and facets |
.rvt |
Autodesk private database - read via API or export IFC first |
Do not put OwnerHistory, Representation item trees, or ObjectPlacement graphs in portable components - those are encoding / host cache.
Honest limit
Two hosts that speak rig.bim.classify + pset + relation can exchange a building and a BCF thread as .rig. Round-tripping every IFC representation item is not required - CAD + optional mesh bake covers the portable subset. A host that needs the rest keeps it in the IFC file and maps what it understands.
Examples: examples/bim-model.json, bim-bcf.json, bim-ids.json.