Complete IDS by adding two more sections and recursion #323
Replies: 4 comments 1 reply
-
For context, the topic was previously raised in Issues:
Let's continue the discussion here. In my opinion:
|
Beta Was this translation helpful? Give feedback.
-
I suggest that 'splitting into multiple specifications' is detrimental to the development and acceptance of information requirements. You only need three such issues to increase the size of an IDS by almost an order of magnitude.
Just injecting 'or' into the sequence of facets (between facets or as an attribute of a facet) causes huge ambiguity:
facet1 facet2 or facet3 facet4
Could mean for requirements
(facet1 and facet2) or (facet 3 and facet4)
Or it could mean
(facet1 and (facet2 or facet3) and facet4)
For applicability, it gets harder:
facet1 facet2 or facet3 facet4
Could mean for applicability
not (facet1 or facet2) and not (facet 3 or facet4)
Or it could mean
not (facet1 or (facet2 and facet3) or facet4)
The Sustainability example has
*
(volume>0.01m3 or netarea>0.1m2)
So we had to give up on
*
(has material or has model-label)
The keyword for applicability is 'notand', for requirement is 'and', for exception is 'or' and for selection is 'notor'. The four cases are joined by 'or'.
<<
* Suggestions 1 and 3: As of IDS.1.0, this can be addressed by splitting into multiple specifications or using the regex patterns in applicability, not ideal. However, instead of 'selection' and 'sub-classes' I think this can be addressed easily with the "or" logic as raised in #183<#183>.
… |
Beta Was this translation helpful? Give feedback.
-
Hi, Can I use the 'PartOf' facet to exclude any element that is part of an IfcRelAggregate association via IfcElementAssembly? Is using the PartOf facet via applicability capable of this type of arrangement? I want to check this, but not these that are PartOf that :). Thank you in advance for any assistance offered in reply. |
Beta Was this translation helpful? Give feedback.
-
Just voicing my support for this. 100% agree with the ability to handle "sub-clauses" in applicability (IfcOpenShell calls this a filter group), and 100% agree to add the ability to negate, exclude, or "except" facets. Those two in itself would make IDS writing much simpler. |
Beta Was this translation helpful? Give feedback.
-
Everything should be done to eliminate duplication and repetition in IDS files. Conciseness is the most important factor in getting sign-off and engagement from senior and junior stakeholders.
The suggestions below allow for situations where the 'entity' facet is not the only criteria being used. Increasingly, other facet types are becoming more important.
Suggestion 1:
A Selection section listing alternative facets about being included
Selections allow for alternative criteria for inclusion, making a 'specification' . Facets in a Selection operate as 'notor' whereas facets in an Application operates as 'notand'. The Selection section sits alongside the Application and Requirements sections.
Suggestion 2:
an Exception section listing cases which are not relevant
Exceptions help make general understandable rules practical by excluding edge cases (of which IFC has many). Yes, if entity inheritance worked this would be doubly powerful, and the generation of the IDS for Sustainability and for Regulatory information had to include complex workarounds. Facets within the Exception section operate as 'or' whereas Facets within Requirement operate with 'and' . The Exception section sits alongside the Selection, Application and Requirements sections.
Suggestion 3:
Allow sub-clauses. Specifically: allow 'Specification' as an additional type of Facet. This makes the IDS logically complete. This should also reduce the dependence on wildcarding and complex facet syntaxes
a. Example:
Each Specification is performing a role, Application in this case). The main Specification set is always playing the role of Requirement.
Beta Was this translation helpful? Give feedback.
All reactions