diff --git a/src/bonsai/bonsai/bim/module/boundary/operator.py b/src/bonsai/bonsai/bim/module/boundary/operator.py index 45ee8c60e2..4d4b594a11 100644 --- a/src/bonsai/bonsai/bim/module/boundary/operator.py +++ b/src/bonsai/bonsai/bim/module/boundary/operator.py @@ -682,6 +682,7 @@ class AddBoundary(bpy.types.Operator, tool.Ifc.Operator): tool.Ifc.get().by_type("IfcWall") + tool.Ifc.get().by_type("IfcSlab") + tool.Ifc.get().by_type("IfcVirtualElement") + + tool.Ifc.get().by_type("IfcCurtainWall") ) for building_element in building_elements: diff --git a/src/bonsai/bonsai/tool/spatial.py b/src/bonsai/bonsai/tool/spatial.py index df87d493c7..650cad2f27 100644 --- a/src/bonsai/bonsai/tool/spatial.py +++ b/src/bonsai/bonsai/tool/spatial.py @@ -755,7 +755,7 @@ class Spatial(bonsai.core.tool.Spatial): @classmethod def is_bounding_class(cls, visible_element: ifcopenshell.entity_instance) -> bool: - for ifc_class in ["IfcWall", "IfcColumn", "IfcMember", "IfcVirtualElement", "IfcPlate"]: + for ifc_class in ["IfcWall", "IfcColumn", "IfcMember", "IfcVirtualElement", "IfcPlate", "IfcCurtainWall"]: if visible_element.is_a(ifc_class): return True return False @@ -936,7 +936,7 @@ class Spatial(bonsai.core.tool.Spatial): boundary_elements = [] for obj in selected_objects: subelement = tool.Ifc.get_entity(obj) - if subelement.is_a("IfcWall") or subelement.is_a("IfcColumn"): + if subelement.is_a("IfcWall") or subelement.is_a("IfcColumn") or subelement.is_a("IfcCurtainWall"): boundary_elements.append(subelement) return boundary_elements