Skip to content

Properties of a class #72

@atomczak

Description

@atomczak

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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions