Skip to content

fix(ifctester): allow IFCLOGICAL properties with UNKNOWN value to pass existence check#8161

Open
gernotluidolt wants to merge 1 commit into
IfcOpenShell:v0.8.0from
gernotluidolt:fix/ifctester-logical-unknown
Open

fix(ifctester): allow IFCLOGICAL properties with UNKNOWN value to pass existence check#8161
gernotluidolt wants to merge 1 commit into
IfcOpenShell:v0.8.0from
gernotluidolt:fix/ifctester-logical-unknown

Conversation

@gernotluidolt

Copy link
Copy Markdown

Description

This PR fixes a false-positive validation error in IfcTester when checking IFCLOGICAL properties containing the value UNKNOWN.

Previously, the code hit a silent pass inside the IfcLogical evaluation block, which prevented the property from being recorded in the props dictionary. This caused a false-positive NOVALUE error downstream, incorrectly indicating that the property did not exist in the model, even though it was structurally and semantically valid.

While requiring an explicit UNKNOWN value in an IDS might be an edge case, the buildingSMART IDS specification supports it. Therefore, the validation engine should handle it correctly rather than throwing a false-positive.

Changes

  • Replaced the silent pass statement with a proper dictionary assignment (props[pset_name][self.baseName] = prop) inside the IfcLogical condition block in src/ifctester/ifctester/facet.py.

Testing

Verified by using an evaluation pipeline I had set up for my bachelor thesis. IFCLOGICAL properties set to UNKNOWN now successfully pass the initial existence filter and can be audited against IDS restrictions as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant