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.