| 905 | return PropertyResult(is_pass, reason) |
| 906 | |
| 907 | def get_properties(self, pset): |
| 908 | if pset.is_a("IfcPropertySet"): |
| 909 | return pset.HasProperties |
| 910 | elif pset.is_a("IfcElementQuantity"): |
| 911 | return pset.Quantities |
| 912 | elif pset.is_a("IfcMaterialProperties") or pset.is_a("IfcProfileProperties"): |
| 913 | return pset.Properties |
| 914 | elif pset.is_a("IfcPreDefinedPropertySet"): |
| 915 | return [ |
| 916 | type("", (object,), {"Name": k, "Value": v})() |
| 917 | for k, v in pset.get_info().items() |
| 918 | if not isinstance(v, ifcopenshell.entity_instance) |
| 919 | ] |
| 920 | |
| 921 | |
| 922 | class Material(Facet): |