buildingSMART / buildingSMART/IFC5-development

Properties of a class

Open
#72 4 comments 0 reactions 2 assignees Claimed by @tomvandig View on GitHub
schema
Dominant language
HTML
Stars
220
Forks
80
Avg merge
4d 6h
Merged PRs (30d)
2

Description

As of now, some class definitions in the schemas also define their properties (similar to IFC4 attributes). Instead of doing that within a class, I suggest we only reference properties defined elsewhere.

NOW (example from [.../ifcx.dev/...ifcv5a.ifcx](https://github.com/buildingSMART/ifcx.dev/blob/a70327b87147d643539e534f56124ac3cc6d8693/%40standards.buildingsmart.org/ifc/core/ifc%40v5a.ifcx#L107)):

```
"bsi::ifc::alignmenthorizontalsegment": {
"value": {
"dataType": "Object",
"objectRestrictions": {
"values": {
"SegmentLength": {
"dataType": "Real"
},
"GeometryType": {
"dataType": "Enum",
"enumRestrictions": {
"options": ["CLOTHOID", "LINE", "CONSTANTGRADIENT", "CIRCULARARC", "CONSTANTCANT", "LINEARTRANSITION"]
}
}
"StartPoint": {
"dataType": "Array",
"arrayRestrictions": {
"value": {
"dataType": "Real"
}
}
}
}
}
}
},
```

PROPOSED:

```
"bsi::ifc::alignmenthorizontalsegment": {
"properties": {
"bsi::ifc::prop::SegmentLength",
"bsi::ifc::prop::GeometryType",
"bsi::ifc::prop::StartPoint",
}
},

[separate file]

"bsi::ifc::prop::SegmentLength": {
"value": {
"dataType": "Real",
"quantityKind": "Length"
}
},
"bsi::ifc::prop::GeometryType": {
"dataType": "Enum",
"enumRestrictions": {
"options": ["CLOTHOID", "LINE", "CONSTANTGRADIENT", "CIRCULARARC", "CONSTANTCANT", "LINEARTRANSITION"]
}
}
"bsi::ifc::prop::StartPoint": {
"dataType": "Array",
"arrayRestrictions": {
"value": {
"dataType": "Real"
}
}
},
```

Related to the schema wishlist #51

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.