IfcTester should not check requirements for prohibited specifications

This commit is contained in:
Dion Moult
2026-01-21 19:43:37 +11:00
parent db52703ce3
commit 41c6eba193
2 changed files with 4 additions and 13 deletions
-1
View File
@@ -1287,7 +1287,6 @@ class IfcImporter:
)
class IfcImportSettings:
"""
Initialize only using `IfcImportSettings.factory()`.
+4 -12
View File
@@ -300,23 +300,15 @@ class Specification:
if not is_applicable:
continue
self.applicable_entities.append(element)
for facet in self.requirements:
result = facet(element)
is_pass = bool(result)
if self.maxOccurs != 0: # This is a required or optional specification
if is_pass:
if self.maxOccurs != 0: # Requirements are skipped for prohibited applicability
for facet in self.requirements:
result = facet(element)
if bool(result):
self.passed_entities.add(element)
facet.passed_entities.add(element)
else:
self.failed_entities.add(element)
facet.failures.append(FacetFailure(element=element, reason=str(result)))
else: # This is a prohibited specification
if is_pass:
self.failed_entities.add(element)
facet.failures.append(FacetFailure(element=element, reason=str(result)))
else:
self.passed_entities.add(element)
facet.passed_entities.add(element)
self.status = True
for facet in self.requirements: