diff --git a/src/blenderbim/blenderbim/bim/handler.py b/src/blenderbim/blenderbim/bim/handler.py index ef80ea9cb7..03fdf28fb1 100644 --- a/src/blenderbim/blenderbim/bim/handler.py +++ b/src/blenderbim/blenderbim/bim/handler.py @@ -47,9 +47,9 @@ def mode_callback(obj, data): ): continue if obj.data.BIMMeshProperties.ifc_definition_id: - IfcStore.edited_objs.add(obj) + tool.Ifc.edit(obj) elif IfcStore.get_file().by_id(obj.BIMObjectProperties.ifc_definition_id).is_a("IfcGridAxis"): - IfcStore.edited_objs.add(obj) + tool.Ifc.edit(obj) def name_callback(obj, data): @@ -94,7 +94,7 @@ def name_callback(obj, data): def color_callback(obj, data): if obj.BIMMaterialProperties.ifc_style_id: - IfcStore.edited_objs.add(obj) + tool.Ifc.edit(obj) def active_object_callback(): diff --git a/src/blenderbim/blenderbim/bim/module/model/sverchok_modifier.py b/src/blenderbim/blenderbim/bim/module/model/sverchok_modifier.py index 8b693b2308..5699c921f8 100644 --- a/src/blenderbim/blenderbim/bim/module/model/sverchok_modifier.py +++ b/src/blenderbim/blenderbim/bim/module/model/sverchok_modifier.py @@ -17,19 +17,11 @@ # along with BlenderBIM Add-on. If not, see . import bpy -from bpy.types import Operator -from bpy.props import FloatProperty, IntProperty, BoolProperty -from bpy_extras.object_utils import AddObjectHelper, object_data_add import bmesh import ifcopenshell -import blenderbim import blenderbim.tool as tool -from blenderbim.bim.module.model.prop import BIMStairProperties -from blenderbim.bim.ifc import IfcStore -from mathutils import Vector -from pprint import pprint import json import zipfile import os.path @@ -65,7 +57,7 @@ def update_sverchok_modifier(context): bm.to_mesh(obj.data) bm.free() obj.data.update() - IfcStore.edited_objs.add(obj) + tool.Ifc.edit(obj) # UI operators diff --git a/src/blenderbim/blenderbim/bim/module/model/wall.py b/src/blenderbim/blenderbim/bim/module/model/wall.py index 244a482ab5..0a873b2f77 100644 --- a/src/blenderbim/blenderbim/bim/module/model/wall.py +++ b/src/blenderbim/blenderbim/bim/module/model/wall.py @@ -55,7 +55,7 @@ def mode_callback(obj, data): if not parametric or parametric["Engine"] != "BlenderBIM.DumbLayer2": return if obj.mode == "EDIT": - IfcStore.edited_objs.add(obj) + tool.Ifc.edit(obj) bm = bmesh.from_edit_mesh(obj.data) bmesh.ops.dissolve_limit(bm, angle_limit=pi / 180 * 1, verts=bm.verts, edges=bm.edges) bmesh.update_edit_mesh(obj.data) @@ -155,7 +155,7 @@ class AlignWall(bpy.types.Operator): aligner.align_first_layer() elif self.align_type == "INTERIOR": aligner.align_last_layer() - IfcStore.edited_objs.add(obj) + tool.Ifc.edit(obj) return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 1f84c04ae1..39d3b5e3b5 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -349,11 +349,16 @@ class Ifc: def get(cls): pass def get_entity(cls, obj): pass def get_object(cls, entity): pass + def get_path(cls): pass def get_schema(cls): pass def is_deleted(cls, element): pass def is_edited(cls, obj): pass def is_moved(cls, obj): pass def link(cls, element, obj): pass + def schema(cls): pass + def edit(cls, obj): pass + def delete(cls, element): pass + def resolve_uri(cls, uri): pass def run(cls, command, **kwargs): pass def set(cls, ifc): pass def unlink(cls, element=None, obj=None): pass diff --git a/src/blenderbim/blenderbim/tool/ifc.py b/src/blenderbim/blenderbim/tool/ifc.py index 6d66459fff..6637d37096 100644 --- a/src/blenderbim/blenderbim/tool/ifc.py +++ b/src/blenderbim/blenderbim/tool/ifc.py @@ -117,10 +117,6 @@ class Ifc(blenderbim.core.tool.Ifc): occurences = [element] return occurences - @classmethod - def unlink(cls, element=None, obj=None): - IfcStore.unlink_element(element, obj) - class Operator: def execute(self, context): IfcStore.execute_ifc_operator(self, context) diff --git a/src/blenderbim/scripts/geonodes_modifier_prototype.py b/src/blenderbim/scripts/geonodes_modifier_prototype.py index 4f35bf6f5a..f536b046f1 100644 --- a/src/blenderbim/scripts/geonodes_modifier_prototype.py +++ b/src/blenderbim/scripts/geonodes_modifier_prototype.py @@ -19,7 +19,6 @@ import ifcopenshell import blenderbim.tool as tool -from blenderbim.bim.ifc import IfcStore import bpy import bmesh @@ -113,7 +112,7 @@ def update_geonodes_modifier(): bm.to_mesh(obj.data) bm.free() obj.data.update() - IfcStore.edited_objs.add(obj) + tool.Ifc.edit(obj) if __name__ == "__main__": diff --git a/src/blenderbim/test/tool/test_geometry.py b/src/blenderbim/test/tool/test_geometry.py index bad88ada73..9608aefbe8 100644 --- a/src/blenderbim/test/tool/test_geometry.py +++ b/src/blenderbim/test/tool/test_geometry.py @@ -25,7 +25,6 @@ import blenderbim.tool as tool from mathutils import Vector from test.bim.bootstrap import NewFile from blenderbim.tool.geometry import Geometry as subject -from blenderbim.bim.ifc import IfcStore class TestImplementsTool(NewFile): @@ -308,7 +307,7 @@ class TestIsEdited(NewFile): assert subject.is_edited(obj) is True obj.scale[0] = 1 assert subject.is_edited(obj) is False - IfcStore.edited_objs.add(obj) + tool.Ifc.edit(obj) assert subject.is_edited(obj) is True