Bug Description
When validating an IFC file with ifcopenshell.validate.validate, instances of IfcPropertyListValue with an empty ListValues attribute (optional according to the IFC documentation) raise the IfcPropertyListValue.WR31 error.
The error log indicates that the violation occurs due to an attempt to iterate over a NoneType object, indicating that the file itself does not actually violate the IfcPropertyListValue.WR31 rule.
However, even as a false-positive, this error can interrupt automated workflows that rely on successful schema validation.
The error log was:
{'level': 'error', 'message': "(sizeof([temp for temp in self.ListValues if not typeof(self.ListValues[1]) == typeof(temp)]) == 0)\n\nViolated by:\n 'NoneType' object is not iterable\n\nOn instance:\n #29=IfcPropertyListValue('Campos a preencher','column-1',$,$)\n", 'type': 'entity_rule', 'instance': #29=IfcPropertyListValue('Campos a preencher','column-1',$,$), 'attribute': 'IfcPropertyListValue.WR31'}
Attachments
No response
Debug and Error Output
Bug Description
When validating an IFC file with ifcopenshell.validate.validate, instances of IfcPropertyListValue with an empty ListValues attribute (optional according to the IFC documentation) raise the IfcPropertyListValue.WR31 error.
The error log indicates that the violation occurs due to an attempt to iterate over a NoneType object, indicating that the file itself does not actually violate the IfcPropertyListValue.WR31 rule.
However, even as a false-positive, this error can interrupt automated workflows that rely on successful schema validation.
The error log was:
Attachments
No response
Debug and Error Output