You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Property facet specifies the Property Set and Name are both required parameters - which initially makes sense to avoid ambiguity etc. However it's relatively common to find EIR specifications where the name of Property is specified but the PropertySet is not explicitly defined. For instance this UK BIM Framework template does not state the Pset, just the Property. E.g. "Building [GrossFloorArea]" is requiring a property named of 'GrossFloorArea' on all IfcBuildings.
How is it intended this kind of use case should be defined in IDS?
You might think you can create a Regex Constraint using a wildcard like this:
<specificationifcVersion="IFC2X3"name="DOOR [AcousticRating]"description="All Doors should have an Acoustic Rating"maxOccurs="unbounded">
<applicability>
<entity>
<name>
<simpleValue>IFCDOOR</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<propertymeasure="IfcLabel"minOccurs="1"maxOccurs="1">
<propertySet>
<xs:restriction>
<xs:patternvalue=".*" />
</xs:restriction>
</propertySet>
<name>
<ids:simpleValue>AcousticRating</ids:simpleValue>
</name>
</property>
[snip]
The Property facet specifies the Property Set and Name are both required parameters - which initially makes sense to avoid ambiguity etc. However it's relatively common to find EIR specifications where the name of Property is specified but the PropertySet is not explicitly defined. For instance this UK BIM Framework template does not state the Pset, just the Property. E.g. "Building [GrossFloorArea]" is requiring a property named of 'GrossFloorArea' on all IfcBuildings.
How is it intended this kind of use case should be defined in IDS?
You might think you can create a Regex Constraint using a wildcard like this:
... but if the element has multiple related PSets and the required property is only in one of them, verification will fail if we're correctly implementing for this test case https://github.com/buildingSMART/IDS/blob/master/Documentation/testcases/property/fail-all_matching_property_sets_must_satisfy_requirements_2_3.ids (which basically says the property must be in all matching PSets)
So the question is, how can a user define a requirement where they don't yet know / don't care what PropertySet a property is provided in.
Possible answers:
minOccurs="1" maxOccurs="unbounded"
?The text was updated successfully, but these errors were encountered: