-
Notifications
You must be signed in to change notification settings - Fork 56
Open
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):
"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