Closed Martin15135215 closed 4 months ago
At the moment this is not possible.
Are there already considerations to implement such a logic in a future version after 1.0?
I believe the OR use-case is on the roadmap for 1.x. Your use-case is a bit more complex so it would be considered for 2.x It might be influenced by changes in IFC 5 though...
BTW in IfcOpenShell we've invented a facet syntax inspired by IDS that you can use in custom scripts in the meantime. It looks something like this:
IfcElement, PsetA.Material=wood + IfcElement, PsetA.Lifetime < 10
Anything out of scope of IDS you can code with any IFC library (IfcOpenShell, XBIM, IFCJS, ODA, etc) but I guess it's worth mentioning that we've created a query language based off IDS with a few more features which address some of IDS' shortcomings.
There is a clear need for Exceptions (thermally resistant or shopfront) and for Selections (doors or windows) .
Please can we see this answer here and in the documentation?
Sent whilst away from my desk.
Regards,
Nick.
Nicholas Nisbet FRSA MA(Cantab) DipArch(UNL) Fellow: Royal Society of Arts Fellow: buildingSMART International & UKI Chapter Director: AEC3 UK Ltd Web: http://www.aec3.comhttp://www.aec3.com/ E-mail: @.**@.> Direct: +44 (0) 1494 714 933 Mobile: +44 (0) 781 616 8554 Registered Address: 46 St Margaret's Grove, Great Kingshill, High Wycombe, Bucks, HP15 6HP, UK
Vice-Chair: buildingSMART UK Chapter Convenor: buildingSMART Regulatory Room
** Confidentiality Notice **. This e-mail and any file(s) transmitted with it, is intended for the exclusive use by the person(s) mentioned above as recipient(s). This e-mail may contain confidential information and/or information protected by intellectual property rights or other rights. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution, copying, or action taken in relation to the contents of and attachments to this e-mail is strictly prohibited and may be unlawful. If you have received this e-mail in error, please notify the sender and delete the original and any copies of this e-mail and any printouts immediately from your system and destroy all copies of it.
On 23 Aug 2023, at 06:06, Stefan Jaud @.***> wrote:
If you are interested in another workaround, contact me at @.**@.> - it's a bit much to explain in a few lines in a Github comment.
— Reply to this email directly, view it on GitHubhttps://github.com/buildingSMART/IDS/issues/183#issuecomment-1689673907, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABYIIJMJGPHOWLJYSXRGTITXWXIYVANCNFSM6AAAAAA33BID5A. You are receiving this because you are subscribed to this thread.Message ID: @.***>
BTW in IfcOpenShell we've invented a facet syntax inspired by IDS that you can use in custom scripts in the meantime. It looks something like this:
IfcElement, PsetA.Material=wood + IfcElement, PsetA.Lifetime < 10
I guess such syntax is counterproductive for IDS. mvdXML was starting with a similar syntax, which was later improved and documented with a formal grammar (also using explicit AND, OR, NOR statements, parenthesis for grouping etc.). If we see short comings in current IDS version due to missing OR statements and other logical expressions, I am in favour of working on a proper proposal for next IDS 1.1.
Since we're XML I would also prefer to use a node based approach for IDS2
<or>
<property name=X/>
<property name=Y/>
</or>
But we should really consider some form of standardized reporting/extraction/transformation first so that downstream tools can collect information on whether to look for property X or Y in this case.
Rather than using Boolean operators, IDS2 should add Exceptions and Selections alongside the current Applicability and Requirements. If people need deeper expressions then allow subsidiary (recursive) Specification.
These words correspond more closely to natural language and usage and can be executed in any order. Moreover the interface design is much simpler.
Pass = Excepted( as Required …. , not Applicable, not Selected, Excepted)
Where Requirements and Specification are joined by ‘and’ Applicabilities are joined by ‘notand’ Selections are joined by ‘notor’ Exceptions are connected by ‘ or ‘
Regards,
Nick.
Nicholas Nisbet FRSA MA(Cantab) DipArch(UNL) Director: AEC3 UK Ltd Direct: +44 (0) 1494 714 933 Mobile: +44 (0) 781 616 8554 @.***
Fellow Royal Society of Arts Fellow buildingSMART International and buildingSMART UKI Leader: buildingSMART International Regulatory Room Vice-Chair: buildingSMART UKI Chapter
Member: UK BSI CB/5 Digitalization of the built environment and B555 Construction Information Development of ISO 12006-2 on Classification structures and Breakdown structures Development of ISO 19650-6 on Collaborative BIM for Health and Safety Development of ISO 22014 on BIM library objects Development of ISO 15686-3 Buildings and constructed assets - Service life planning: Part 3, Information and Calculations
** Confidentiality Notice **. This e-mail and any file(s) transmitted with it, is intended for the exclusive use by the person(s) mentioned above as recipient(s). This e-mail may contain confidential information and/or information protected by intellectual property rights or other rights. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution, copying, or action taken in relation to the contents of and attachments to this e-mail is strictly prohibited and may be unlawful. If you have received this e-mail in error, please notify the sender and delete the original and any copies of this e-mail and any printouts immediately from your system and destroy all copies of it.
From: Thomas Krijnen @.> Sent: 24 October 2023 09:32 To: buildingSMART/IDS @.> Cc: Nicholas Nisbet @.>; Comment @.> Subject: Re: [buildingSMART/IDS] [Question] Can you set two requirements with some kind of OR in Requirements? (Issue #183)
EXTERNE-EMAIL Bitte klicken Sie nicht auf Links oder öffnen Sie keine Anhänge! Es sei denn, Sie kennen den Absender und wissen, dass der Inhalt sicher ist.
Since we're XML I would also prefer to use a node based approach for IDS2
But we should really consider some form of standardized reporting/extraction/transformation first so that downstream tools can collect information on whether to look for property X or Y in this case.
— Reply to this email directly, view it on GitHubhttps://github.com/buildingSMART/IDS/issues/183#issuecomment-1776760999, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABYIIJJWIKZ6F5JDI32BGH3YA54JLAVCNFSM6AAAAAA33BID5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZWG43DAOJZHE. You are receiving this because you commented.Message ID: @.**@.>>
For example, in Requirements states that the Material property in Pset A is Wood or the Lifetime property in Pset A is less than 10.
At the moment, I have only seen that in Requirements you can have some kind of AND that applies to several requirements.
Thanks a lot for the answer.