From 06b5982b59ae960088b47f33b7efef59d635bde9 Mon Sep 17 00:00:00 2001 From: Massimo Fabbro Date: Wed, 27 Sep 2023 18:51:37 +0200 Subject: [PATCH] fix generate spaces from walls bug --- src/blenderbim/blenderbim/core/spatial.py | 8 +++++--- src/blenderbim/blenderbim/core/tool.py | 3 +-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/blenderbim/blenderbim/core/spatial.py b/src/blenderbim/blenderbim/core/spatial.py index 7f2beb3aba..109168847b 100644 --- a/src/blenderbim/blenderbim/core/spatial.py +++ b/src/blenderbim/blenderbim/core/spatial.py @@ -125,7 +125,9 @@ def select_decomposed_elements(spatial): #HERE STARTS SPATIAL TOOL def generate_spaces_from_walls(ifc, spatial, collector): - container, active_obj = spatial.get_container_and_active_obj() + active_obj = bpy.context.active_object + element = ifc.get_entity(active_obj) + container = spatial.get_container(element) if not active_obj: self.report({"ERROR"}, "No active object. Please select a wall") @@ -147,12 +149,12 @@ def generate_spaces_from_walls(ifc, spatial, collector): h = active_obj.dimensions.z selected_objects = bpy.context.selected_objects - union = spatial.get_union_shape_from_selected_objects(selected_objects) + union = spatial.get_union_shape_from_selected_objects() for i, linear_ring in enumerate(union.interiors): poly = spatial.get_buffered_poly_from_linear_ring(linear_ring) - bm = spatial.get_bmesh_from_polygon(poly, mat, h) + bm = spatial.get_bmesh_from_polygon(poly, h) name = "Space" + str(i) mesh = bpy.data.meshes.new(name=name) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 0557e0144d..de5d5f31cb 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -810,8 +810,7 @@ class Spatial: def set_relative_object_matrix(cls, target_obj, relative_to_obj, matrix): pass def show_scene_objects(cls): pass #HERE STARTS SPATIAL TOOL -# def get_container_and_active_obj(cls): pass - def get_union_shape_from_selected_objects(cls, selected_objects): pass + def get_union_shape_from_selected_objects(cls): pass def get_boundary_elements(cls, selected_objects): pass def get_polygons(cls, boundary_elements): pass def get_obj_base_points(cls, obj): pass