diff --git a/src/blenderbim/blenderbim/bim/module/model/space.py b/src/blenderbim/blenderbim/bim/module/model/space.py index 7a63a31604..4dc348be99 100644 --- a/src/blenderbim/blenderbim/bim/module/model/space.py +++ b/src/blenderbim/blenderbim/bim/module/model/space.py @@ -62,7 +62,7 @@ class GenerateSpace(bpy.types.Operator, tool.Ifc.Operator): bpy.context.window_manager.popup_menu(msg, title="Error", icon="ERROR") return - core.generate_space(tool.Ifc, tool.Spatial, tool.Model) + core.generate_space(tool.Ifc, tool.Spatial, tool.Model, tool.Type) class GenerateSpacesFromWalls(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/blenderbim/blenderbim/core/spatial.py b/src/blenderbim/blenderbim/core/spatial.py index 4ed8635878..0a989a86df 100644 --- a/src/blenderbim/blenderbim/core/spatial.py +++ b/src/blenderbim/blenderbim/core/spatial.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU General Public License # along with BlenderBIM Add-on. If not, see . -import blenderbim.core.type def reference_structure(ifc, spatial, structure=None, element=None): if spatial.can_reference(structure, element): @@ -127,7 +126,7 @@ def select_decomposed_elements(spatial): spatial.select_products(spatial.get_decomposed_elements(container)) #HERE STARTS SPATIAL TOOL -def generate_space(ifc, spatial, model): +def generate_space(ifc, spatial, model, Type): active_obj = spatial.get_active_obj() selected_objects = spatial.get_selected_objects() element = None @@ -171,8 +170,7 @@ def generate_space(ifc, spatial, model): element = ifc.get_entity(obj) if relating_type: - blenderbim.core.type.assign_type(tool.Ifc, tool.Type, element=element, type=relating_type) - + spatial.assign_relating_type_to_element(ifc, Type, element, relating_type) def generate_spaces_from_walls(ifc, spatial, collector): z = spatial.get_active_obj_z() diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index b21016b3b9..b34dd8b7f3 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -843,6 +843,7 @@ class Spatial: def get_body_representation(cls, obj): pass def assign_ifcspace_class_to_obj(cls, obj): pass def assign_type_to_obj(cls, obj): pass + def assign_relating_type_to_element(cls, ifc, Type, element, relating_type): pass def regen_obj_representation(cls, ifc, geometry, obj, body): pass def toggle_spaces_visibility_wired_and_textured(cls, spaces): pass diff --git a/src/blenderbim/blenderbim/tool/spatial.py b/src/blenderbim/blenderbim/tool/spatial.py index e8b9664e4e..d52d772f0f 100644 --- a/src/blenderbim/blenderbim/tool/spatial.py +++ b/src/blenderbim/blenderbim/tool/spatial.py @@ -20,6 +20,7 @@ import bpy import bmesh import shapely import ifcopenshell +import blenderbim.core.type import blenderbim.core.tool import blenderbim.core.root import blenderbim.core.spatial @@ -661,6 +662,10 @@ class Spatial(blenderbim.core.tool.Spatial): element = tool.Ifc.get_entity(obj) blenderbim.core.type.assign_type(tool.Ifc, tool.Type, element=element, type=relating_type) + @classmethod + def assign_relating_type_to_element(cls, ifc, Type, element, relating_type): + blenderbim.core.type.assign_type(ifc, Type, element=element, type=relating_type) + @classmethod def assign_container_to_obj(cls, obj): active_obj = bpy.context.active_object