buildingSMART / buildingSMART/IFC5-development
Properties of a class
- 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.