Schemas / BIM / OpenBIM
rig.bim.relation
v0.31.0 · draft 3 fields 3 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
kind |
enumvoids · fills · connects · aggregates · services | required | voids, fills, connects, aggregates, or services |
a |
entity | required | First participant |
b |
entity | required | Second participant |
OpenBIM relationship between two entities. Format when present - this component lives on its own entity (same pattern as rig.mod.binding).
kind |
a |
b |
Meaning |
|---|---|---|---|
voids |
opening | host element | Opening voids the wall / slab (IfcRelVoidsElement) |
fills |
door / window | opening | Filler fills the opening (IfcRelFillsElement) |
connects |
element | element | Connection / join (IfcRelConnects*) |
aggregates |
whole | part | Aggregation (IfcRelAggregates) |
services |
system / element | element | Services / assignment (IfcRelServicesBuildings, ...) |
Many relations per element - do not hang a single host field on the wall. Scene containment (element on a storey) stays on rig.spatial.relationship. Hosted openings are not rig.cad.boolean.
JSON Schema
Resolves at https://rig.works/schemas/rig.bim.relation.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.bim.relation.schema.json",
"title": "rig.bim.relation",
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"voids",
"fills",
"connects",
"aggregates",
"services"
]
},
"a": {
"$ref": "./_defs.schema.json#/$defs/entity"
},
"b": {
"$ref": "./_defs.schema.json#/$defs/entity"
}
},
"required": [
"kind",
"a",
"b"
]
}