Comments (2)
A pattern on PropertySet is a relatively common usage (not least to allow wildcard matches). There's a pset testcase example here: https://github.com/buildingSMART/IDS/blob/development/Documentation/testcases/property/pass-all_matching_property_sets_must_satisfy_requirements_1_3.ids
I don't see any problem combining multiple complex restrictions together for specific use cases. Just a very simple use case: Doors and Windows should have an acoustic rating within a range :
PropertySet: pattern Pset_(Door|Window)Common
BaseName: AcousticRating
Value: bounds between 0 and 0.2
But clearly UXs need to adjust so that the simple case is clear/easy to both author and read, while still allowing more complex restrictions to be built. At the end of the day it's a query builder, but no doubt some queries may be considered too advanced to display in a simple interface. (perhaps similar to how some SQL queries may be too complex to edit graphically)
I can see certain complex restrictions may be inappropriate for certain facet properties. e.g. I can't see many people using Bounds or Length on a propertySet or entityName, unless there's something really esoteric going on. My general view would be that IDS verification should be comprehensive and support these edge cases, but editors may want to be more pragmatic - albeit I feel they should not be discarding / corrupting IDS content they don't support
I'm not sure that we should be deliberately limiting the functionality of IDS simply because of UX difficulties building more complex specs.
BTW: Also worth noting an additional complexity detailed in #285 which you may want to consider in the UX - there can be multiple restrictions defined.
from ids.
Thanks for the reply @andyward, that helps. Your point is valid and the example makes sense. I still think others (like range in a PropertySet) are very uncommon, but yeah, we should stay flexible.
We will do our best to somehow catch that then.
from ids.
Related Issues (20)
- List of datatypes with Enum types used by attributes HOT 6
- List of datatypes without IfcCompoundPlaneAngleMeasure HOT 2
- IfcLogical representation in XML base HOT 1
- IMPROVEMENT: functionality to point towards bSDD (data dictionaries) HOT 4
- IDS BIM
- Restriction of values: Enumeration limited to string-based datatype or do we allow for real, integer and measurements HOT 4
- Predefined type evaluation
- userdefuned HOT 6
- Test case naming consistency HOT 2
- 2 testcases have .html file instead of .ifc HOT 2
- Tolerance documentation 1.0.0 HOT 7
- Wrong file name in the entity directory of test cases HOT 1
- Tolerance test issues in 1.0 HOT 5
- Test case for indirect containment is incorrect
- Relation between enumerations in Applicability and Requirements HOT 2
- Broken links on dev Readme HOT 1
- Add textual definitions to each IDS element HOT 2
- IfcTester check ifc version?
- Proposal: Permit dataType equivalents for non-measure Property values HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ids.