This commit is contained in:
Andrej730
2024-09-23 19:33:16 +05:00
parent a51ed6e6b3
commit 65f9a745a3
4 changed files with 14 additions and 7 deletions
@@ -1631,10 +1631,11 @@ def copy_deep(
new[i] = attribute
return new
def has_property(product: ifcopenshell.entity_instance, property_name: str) -> bool:
"""
Check if a product has a property with a given name.
:param product: The IFC product
:type product: ifcopenshell.entity_instance
:param property_name: The property name
@@ -1645,11 +1646,11 @@ def has_property(product: ifcopenshell.entity_instance, property_name: str) -> b
Example:
.. code:: python
product = file.by_type("IfcWall")[0]
has_property = ifcopenshell.util.element.has_property(product, "NetArea")
"""
if not property_name:
return True
qtos = get_psets(product, qtos_only=True)
return any(property_name in quantities.keys() for quantities in qtos.values())
return any(property_name in quantities.keys() for quantities in qtos.values())