Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add examples for IfcLogical that show proper syntax for IFC files #24

Open
AngelVelezSosa opened this issue Jan 17, 2023 · 1 comment
Open

Comments

@AngelVelezSosa
Copy link

Problem
IfcLogical is described as being TRUE, FALSE, or UNKNOWN but all IFC files write out those values as .T.,.F. and .U. There doesn't seem to be any documentation that this is the correct method. Can we add explicit examples that show that this is correct (or not...)

Solution(s)
Valid IFC file samples that contain IfcLogical and ifcBoolean properties in all possible states.

Require schema changes?
no

Require documentation changes?
yes

Rule required
Need for a formal rule? Describe it
normative check: every IFC file must pass this check

A clear and concise description of the rule
Check the the value of IFCBOOLEAN and IFCLOGICAL properties, make sure they are .T./.F./$ or .T./.F./.U./$ only.

Additional context

@aothms
Copy link

aothms commented Jan 18, 2023

fyi the relevant sections from 10303-21, so the observation is correct ($ only in case of optional):

12.1.1.3 Boolean

...

The EXPRESS data type BOOLEAN shall be treated as a predefined enumerated data type with a value encoded by the graphic characters "T" or "F". These values shall correspond to true and false respectively.

12.1.1.4 Logical

...

The EXPRESS data type LOGICAL shall be treated as a predefined enumerated data type with a value encoded by the graphic characters "T", "F" or "U". These values shall correspond to true, false, and unknown respectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Files update - ongoing
Development

No branches or pull requests

2 participants