Open Moult opened 3 years ago
I'd say this needs to be properly encoded in the schema. It can be an express list, like:
PSETTEMPLATE(..., (ENTITY('IfcSpace'), ENTITY_PREDEFINEDTYPE('IfcSpace', 'PARKING')));
@aothms I think there is a misunderstanding here - this is referring to the ApplicableEntity
attribute of IfcPropertySetTemplate
which has a data type of IfcIdentifier
. How do you propose to enforce an encoding in the IfcIdentifier
field?
semantically correct would be
ApplicableEntities : OPTIONAL LIST [1:?] OF IfcIdentifier;
however this would introduce a change, that we have identified as non-upward compatible in the past, since it changes the exchange structure significantly
now buildingSMART/IFC4.3.x-development#1=IFCPROPERTYSETTEMPLATE ( .... , 'IfcWall, IfcBeam', ...); then buildingSMART/IFC4.3.x-development#1=IFCPROPERTYSETTEMPLATE ( .... , ('IfcWall', 'IfcBeam'), ...);
so my proposal for now is to stay with a single STRING and enforce a particular syntax, and leave a more general change to IFC5.
Yes, I think that is a great solution! As you say, it is non upward compatible, so how about for now we enforce no spaces, and fix any occurrences that have spaces? Here is the revised proposal:
Solution for IFC4.3: Enforce no spaces. Fix any occurring spaces.
Solution for IFC5: ApplicableEntities : OPTIONAL LIST [1:?] OF IfcIdentifier; now buildingSMART/IFC4.3.x-development#1=IFCPROPERTYSETTEMPLATE ( .... , 'IfcWall, IfcBeam', ...); then buildingSMART/IFC4.3.x-development#1=IFCPROPERTYSETTEMPLATE ( .... , ('IfcWall', 'IfcBeam'), ...);
Marked as onhold due to backwards compatibility issues.
This is already solved in the latest code gen right, which is be definition consistent?
Sent from a mobile device. Excuse my brevity. Kind regards, Thomas
Op wo 2 mrt. 2022 11:12 schreef Dion Moult @.***>:
Some pset template definitions use comma separated values with spaces for their applicable entities, like so:
Pset_SpaceFireSafetyRequirements --> 'IfcSpace, IfcSpatialZone, IfcZone'
Others do not:
Pset_ConcreteElementGeneral --> 'IfcBeam,IfcBuildingElementProxy,IfcChimney,IfcColumn,IfcFooting,IfcMember,IfcPile,IfcPlate,IfcRailing,IfcRamp,IfcRampFlight,IfcRoof,IfcSlab,IfcStair,IfcStairFlight,IfcWall,IfcCivilElement'
The example given in the documentation does not use spaces.
I propose to remove all spaces in comma separated lists. Ping @berlotti https://github.com/berlotti @TLiebich https://github.com/TLiebich @aothms https://github.com/aothms
— Reply to this email directly, view it on GitHub https://github.com/buildingSMART/IFC4.4.x-development/issues/10, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAILWV63SOHVPR62LJOLN2DU545IDANCNFSM5PW7ANAA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
@aothms well actually this only appears in IFC pset templates, and to my knowledge I only see .xml outputs not .ifc so this hasn't yet been solved?
ApplicableType="IfcSpace, IfcSpatialZone, IfcZone"
ApplicableType="IfcBeam,IfcBuildingElementProxy,IfcChimney,IfcColumn,IfcFooting,IfcMember,IfcPile,IfcPlate,IfcRailing,IfcRamp,IfcRampFlight,IfcRoof,IfcSlab,IfcStair,IfcStairFlight,IfcWall,IfcCivilElement"
Well, It's solved in the way that these used to be XML strings catted verbatim to the various outputs and now are generated from UML. Whether the lack of a p21 for psets is an issue is another question.
Some pset template definitions use comma separated values with spaces for their applicable entities, like so:
Others do not:
The example given in the documentation does not use spaces.
I propose to remove all spaces in comma separated lists. Ping @berlotti @TLiebich @aothms