diff --git a/src/blenderbim/blenderbim/bim/export_ifc.py b/src/blenderbim/blenderbim/bim/export_ifc.py
index 922ffb0d46..1884f2cd96 100644
--- a/src/blenderbim/blenderbim/bim/export_ifc.py
+++ b/src/blenderbim/blenderbim/bim/export_ifc.py
@@ -29,7 +29,7 @@ import ifcopenshell
import ifcopenshell.api
import ifcopenshell.util.placement
import ifcopenshell.util.unit
-import blenderbim.tool as tool
+from .. import tool
import blenderbim.core.geometry
import blenderbim.core.aggregate
import blenderbim.core.spatial
diff --git a/src/blenderbim/blenderbim/bim/handler.py b/src/blenderbim/blenderbim/bim/handler.py
index 23f272146f..dbbb001d78 100644
--- a/src/blenderbim/blenderbim/bim/handler.py
+++ b/src/blenderbim/blenderbim/bim/handler.py
@@ -24,7 +24,7 @@ import ifcopenshell.util.element
import ifcopenshell.util.representation
import ifcopenshell.api.owner.settings
import blenderbim.bim
-import blenderbim.tool as tool
+from .. import tool
import blenderbim.core.owner as core_owner
from bpy.app.handlers import persistent
from .ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/helper.py b/src/blenderbim/blenderbim/bim/helper.py
index 88360e2c45..9360509eb3 100644
--- a/src/blenderbim/blenderbim/bim/helper.py
+++ b/src/blenderbim/blenderbim/bim/helper.py
@@ -26,7 +26,7 @@ import ifcopenshell.util.element
from ifcopenshell.util.doc import get_attribute_doc, get_predefined_type_doc, get_property_doc
from mathutils import geometry
from mathutils import Vector
-import blenderbim.tool as tool
+from .. import tool
from .ifc import IfcStore
from typing import Optional, Callable, Any, Union
diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py
index c7da7f3c78..fcb36abc52 100644
--- a/src/blenderbim/blenderbim/bim/ifc.py
+++ b/src/blenderbim/blenderbim/bim/ifc.py
@@ -29,7 +29,7 @@ import ifcopenshell
import ifcopenshell.geom
import ifcopenshell.ifcopenshell_wrapper
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .. import tool
from pathlib import Path
from ..tool.brick import BrickStore
from typing import Set, Union, Optional, TypedDict, Callable
diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py
index 7666514df7..129b8dfd9a 100644
--- a/src/blenderbim/blenderbim/bim/import_ifc.py
+++ b/src/blenderbim/blenderbim/bim/import_ifc.py
@@ -32,7 +32,7 @@ import ifcopenshell.util.geolocation
import ifcopenshell.util.placement
import ifcopenshell.util.representation
import ifcopenshell.util.shape
-import blenderbim.tool as tool
+from .. import tool
from itertools import chain, accumulate
from .ifc import IfcStore, IFC_CONNECTED_TYPE
from ..tool.loader import OBJECT_DATA_TYPE
diff --git a/src/blenderbim/blenderbim/bim/module/aggregate/data.py b/src/blenderbim/blenderbim/bim/module/aggregate/data.py
index 8eef8b00bd..75fe8d9c33 100644
--- a/src/blenderbim/blenderbim/bim/module/aggregate/data.py
+++ b/src/blenderbim/blenderbim/bim/module/aggregate/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.element
diff --git a/src/blenderbim/blenderbim/bim/module/aggregate/operator.py b/src/blenderbim/blenderbim/bim/module/aggregate/operator.py
index fe8e43c635..b5f542ce2d 100644
--- a/src/blenderbim/blenderbim/bim/module/aggregate/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/aggregate/operator.py
@@ -19,7 +19,7 @@
import bpy
import ifcopenshell
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.aggregate as core
import blenderbim.core.spatial
import blenderbim.bim.handler
diff --git a/src/blenderbim/blenderbim/bim/module/aggregate/ui.py b/src/blenderbim/blenderbim/bim/module/aggregate/ui.py
index 7d4727edcb..c5a5a786dc 100644
--- a/src/blenderbim/blenderbim/bim/module/aggregate/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/aggregate/ui.py
@@ -20,7 +20,7 @@ from bpy.types import Panel
from .data import AggregateData
from ..group.data import GroupsData, ObjectGroupsData
from ...ifc import IfcStore
-import blenderbim.tool as tool
+from .... import tool
class BIM_PT_aggregate(Panel):
diff --git a/src/blenderbim/blenderbim/bim/module/attribute/data.py b/src/blenderbim/blenderbim/bim/module/attribute/data.py
index 955a4f8927..e3c7e056a6 100644
--- a/src/blenderbim/blenderbim/bim/module/attribute/data.py
+++ b/src/blenderbim/blenderbim/bim/module/attribute/data.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/attribute/operator.py b/src/blenderbim/blenderbim/bim/module/attribute/operator.py
index be3b37dd99..ac5af42920 100644
--- a/src/blenderbim/blenderbim/bim/module/attribute/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/attribute/operator.py
@@ -23,7 +23,7 @@ import ifcopenshell.api
import ifcopenshell.guid
import blenderbim.bim.helper
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.attribute as core
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/boundary/data.py b/src/blenderbim/blenderbim/bim/module/boundary/data.py
index 8edbba38a0..652c9860b8 100644
--- a/src/blenderbim/blenderbim/bim/module/boundary/data.py
+++ b/src/blenderbim/blenderbim/bim/module/boundary/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/boundary/decorator.py b/src/blenderbim/blenderbim/bim/module/boundary/decorator.py
index ce70cc23c9..e969136510 100644
--- a/src/blenderbim/blenderbim/bim/module/boundary/decorator.py
+++ b/src/blenderbim/blenderbim/bim/module/boundary/decorator.py
@@ -18,7 +18,7 @@
import gpu
import bmesh
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import SpaceView3D
from mathutils import Vector
from gpu_extras.batch import batch_for_shader
diff --git a/src/blenderbim/blenderbim/bim/module/boundary/operator.py b/src/blenderbim/blenderbim/bim/module/boundary/operator.py
index dd9f40e308..b096e5f4e3 100644
--- a/src/blenderbim/blenderbim/bim/module/boundary/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/boundary/operator.py
@@ -31,8 +31,8 @@ import ifcopenshell.util.shape
import ifcopenshell.util.element
import ifcopenshell.util.placement
import ifcopenshell.util.representation
-import blenderbim.tool as tool
-import blenderbim.bim.import_ifc as import_ifc
+from .... import tool
+from ... import import_ifc
from math import pi, inf, degrees, acos, radians
from mathutils import Vector, Matrix
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/boundary/prop.py b/src/blenderbim/blenderbim/bim/module/boundary/prop.py
index fb0b5f8b79..8fd259f3fe 100644
--- a/src/blenderbim/blenderbim/bim/module/boundary/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/boundary/prop.py
@@ -29,7 +29,7 @@ from bpy.props import (
FloatVectorProperty,
CollectionProperty,
)
-import blenderbim.tool as tool
+from .... import tool
def space_filter(self, object):
diff --git a/src/blenderbim/blenderbim/bim/module/boundary/ui.py b/src/blenderbim/blenderbim/bim/module/boundary/ui.py
index aec8b3b343..908df50c60 100644
--- a/src/blenderbim/blenderbim/bim/module/boundary/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/boundary/ui.py
@@ -20,7 +20,7 @@ import bpy
import blenderbim.bim.helper
from bpy.types import Panel, UIList
from ...ifc import IfcStore
-import blenderbim.tool as tool
+from .... import tool
from .data import SpaceBoundariesData
diff --git a/src/blenderbim/blenderbim/bim/module/brick/data.py b/src/blenderbim/blenderbim/bim/module/brick/data.py
index d8176dc2ab..d3c5311f76 100644
--- a/src/blenderbim/blenderbim/bim/module/brick/data.py
+++ b/src/blenderbim/blenderbim/bim/module/brick/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ....tool.brick import BrickStore
try:
diff --git a/src/blenderbim/blenderbim/bim/module/brick/operator.py b/src/blenderbim/blenderbim/bim/module/brick/operator.py
index 0f372bee71..d0ce1b4a72 100644
--- a/src/blenderbim/blenderbim/bim/module/brick/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/brick/operator.py
@@ -19,7 +19,7 @@
import os
import bpy
import ifcopenshell.api
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.brick as core
import blenderbim.bim.handler
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/brick/ui.py b/src/blenderbim/blenderbim/bim/module/brick/ui.py
index 9f3a379dea..3940d9f74c 100644
--- a/src/blenderbim/blenderbim/bim/module/brick/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/brick/ui.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with BlenderBIM Add-on. If not, see .
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel, UIList
from ...helper import prop_with_search
from .data import BrickschemaData, BrickschemaReferencesData
diff --git a/src/blenderbim/blenderbim/bim/module/bsdd/operator.py b/src/blenderbim/blenderbim/bim/module/bsdd/operator.py
index d301165c9f..b688f332ce 100644
--- a/src/blenderbim/blenderbim/bim/module/bsdd/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/bsdd/operator.py
@@ -18,7 +18,7 @@
import bpy
import bsdd
-import blenderbim.tool as tool
+from .... import tool
from ....core import bsdd as core
diff --git a/src/blenderbim/blenderbim/bim/module/bsdd/ui.py b/src/blenderbim/blenderbim/bim/module/bsdd/ui.py
index f8e6324b98..a4ce1a245a 100644
--- a/src/blenderbim/blenderbim/bim/module/bsdd/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/bsdd/ui.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with BlenderBIM Add-on. If not, see .
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel, UIList
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/cad/operator.py b/src/blenderbim/blenderbim/bim/module/cad/operator.py
index 14f92ff9b7..bba01e399d 100644
--- a/src/blenderbim/blenderbim/bim/module/cad/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/cad/operator.py
@@ -21,7 +21,7 @@ import math
import bmesh
import mathutils
import bpy_extras
-import blenderbim.tool as tool
+from .... import tool
from mathutils import Vector, Matrix
from math import pi, radians, sin, cos, sqrt
import ifcopenshell.util.unit
diff --git a/src/blenderbim/blenderbim/bim/module/cad/workspace.py b/src/blenderbim/blenderbim/bim/module/cad/workspace.py
index 29167a250c..a4857adb1a 100644
--- a/src/blenderbim/blenderbim/bim/module/cad/workspace.py
+++ b/src/blenderbim/blenderbim/bim/module/cad/workspace.py
@@ -18,7 +18,7 @@
import os
import bpy
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.module.type.prop as type_prop
import ifcopenshell.util.unit
from bpy.types import WorkSpaceTool
diff --git a/src/blenderbim/blenderbim/bim/module/clash/data.py b/src/blenderbim/blenderbim/bim/module/clash/data.py
index 7f61222f7b..7e2bd3e902 100644
--- a/src/blenderbim/blenderbim/bim/module/clash/data.py
+++ b/src/blenderbim/blenderbim/bim/module/clash/data.py
@@ -19,7 +19,7 @@
import bpy
import json
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/clash/decorator.py b/src/blenderbim/blenderbim/bim/module/clash/decorator.py
index 43c40a339a..fcaae4ebac 100644
--- a/src/blenderbim/blenderbim/bim/module/clash/decorator.py
+++ b/src/blenderbim/blenderbim/bim/module/clash/decorator.py
@@ -19,7 +19,7 @@
import blf
import gpu
import bmesh
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import SpaceView3D
from mathutils import Vector
from gpu_extras.batch import batch_for_shader
diff --git a/src/blenderbim/blenderbim/bim/module/clash/operator.py b/src/blenderbim/blenderbim/bim/module/clash/operator.py
index 1cd8295472..674a496b13 100644
--- a/src/blenderbim/blenderbim/bim/module/clash/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/clash/operator.py
@@ -23,7 +23,7 @@ import bmesh
import logging
import numpy as np
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
from math import radians
from mathutils import Matrix, Vector
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/classification/data.py b/src/blenderbim/blenderbim/bim/module/classification/data.py
index 4b82544949..24608c93ed 100644
--- a/src/blenderbim/blenderbim/bim/module/classification/data.py
+++ b/src/blenderbim/blenderbim/bim/module/classification/data.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell
import ifcopenshell.util.date
import ifcopenshell.util.classification
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/classification/operator.py b/src/blenderbim/blenderbim/bim/module/classification/operator.py
index 78cb4670d3..d4413786a6 100644
--- a/src/blenderbim/blenderbim/bim/module/classification/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/classification/operator.py
@@ -22,7 +22,7 @@ import ifcopenshell
import ifcopenshell.api
import ifcopenshell.util.classification
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.helper
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/classification/ui.py b/src/blenderbim/blenderbim/bim/module/classification/ui.py
index 99c869515a..bce4dc4396 100644
--- a/src/blenderbim/blenderbim/bim/module/classification/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/classification/ui.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.module.classification.prop as classification_prop
from bpy.types import Panel, UIList
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/constraint/data.py b/src/blenderbim/blenderbim/bim/module/constraint/data.py
index 940df4fb7c..8c9cf26e22 100644
--- a/src/blenderbim/blenderbim/bim/module/constraint/data.py
+++ b/src/blenderbim/blenderbim/bim/module/constraint/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/constraint/operator.py b/src/blenderbim/blenderbim/bim/module/constraint/operator.py
index b0bd481928..6226959b43 100644
--- a/src/blenderbim/blenderbim/bim/module/constraint/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/constraint/operator.py
@@ -21,7 +21,7 @@ import json
import ifcopenshell.api
import ifcopenshell.util.attribute
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/constraint/prop.py b/src/blenderbim/blenderbim/bim/module/constraint/prop.py
index 69d9712002..8545aa970b 100644
--- a/src/blenderbim/blenderbim/bim/module/constraint/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/constraint/prop.py
@@ -18,7 +18,7 @@
import bpy
from ifcopenshell.util.doc import get_entity_doc
-import blenderbim.tool as tool
+from .... import tool
from ...prop import Attribute
from bpy.types import PropertyGroup
from bpy.props import (
diff --git a/src/blenderbim/blenderbim/bim/module/context/data.py b/src/blenderbim/blenderbim/bim/module/context/data.py
index b51c67a62d..83a3a893fc 100644
--- a/src/blenderbim/blenderbim/bim/module/context/data.py
+++ b/src/blenderbim/blenderbim/bim/module/context/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/context/operator.py b/src/blenderbim/blenderbim/bim/module/context/operator.py
index 1df558de44..7bc379af7b 100644
--- a/src/blenderbim/blenderbim/bim/module/context/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/context/operator.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.context as core
import blenderbim.bim.module.context.data
import blenderbim.bim.handler
diff --git a/src/blenderbim/blenderbim/bim/module/context/ui.py b/src/blenderbim/blenderbim/bim/module/context/ui.py
index dfa8476ea6..0cbcd60928 100644
--- a/src/blenderbim/blenderbim/bim/module/context/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/context/ui.py
@@ -18,7 +18,7 @@
import bpy
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from .data import ContextData
diff --git a/src/blenderbim/blenderbim/bim/module/cost/data.py b/src/blenderbim/blenderbim/bim/module/cost/data.py
index 09698a54be..972008d699 100644
--- a/src/blenderbim/blenderbim/bim/module/cost/data.py
+++ b/src/blenderbim/blenderbim/bim/module/cost/data.py
@@ -22,7 +22,7 @@ import ifcopenshell.util.cost
import ifcopenshell.util.date
import ifcopenshell.util.element
import ifcopenshell.util.unit
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.schema
from ifcopenshell.util.doc import get_entity_doc, get_predefined_type_doc
from typing import Any
diff --git a/src/blenderbim/blenderbim/bim/module/cost/operator.py b/src/blenderbim/blenderbim/bim/module/cost/operator.py
index 3b384cf60c..9696c0d7c4 100644
--- a/src/blenderbim/blenderbim/bim/module/cost/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/cost/operator.py
@@ -22,9 +22,9 @@ import json
import time
import ifcopenshell.api
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from bpy_extras.io_utils import ImportHelper
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.cost as core
diff --git a/src/blenderbim/blenderbim/bim/module/cost/prop.py b/src/blenderbim/blenderbim/bim/module/cost/prop.py
index 62d0d5fb9a..46572afa3a 100644
--- a/src/blenderbim/blenderbim/bim/module/cost/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/cost/prop.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell.api
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
from ..classification.data import CostClassificationsData
from .data import CostSchedulesData, CostItemRatesData, CostItemQuantitiesData
diff --git a/src/blenderbim/blenderbim/bim/module/covering/workspace.py b/src/blenderbim/blenderbim/bim/module/covering/workspace.py
index 012274d279..9f2816b25d 100644
--- a/src/blenderbim/blenderbim/bim/module/covering/workspace.py
+++ b/src/blenderbim/blenderbim/bim/module/covering/workspace.py
@@ -20,7 +20,7 @@
import os
import bpy
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
from ...helper import prop_with_search
from ..model.data import AuthoringData
from bpy.types import WorkSpaceTool
diff --git a/src/blenderbim/blenderbim/bim/module/csv/operator.py b/src/blenderbim/blenderbim/bim/module/csv/operator.py
index 0178969aa8..ea954e141b 100644
--- a/src/blenderbim/blenderbim/bim/module/csv/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/csv/operator.py
@@ -24,8 +24,8 @@ import logging
import tempfile
import ifcopenshell
import ifcopenshell.util.selector
-import blenderbim.tool as tool
-import blenderbim.bim.module.drawing.scheduler as scheduler
+from .... import tool
+from ..drawing import scheduler
from ...ifc import IfcStore
from ...handler import refresh_ui_data
diff --git a/src/blenderbim/blenderbim/bim/module/debug/operator.py b/src/blenderbim/blenderbim/bim/module/debug/operator.py
index 19843da6c4..db0838ce13 100644
--- a/src/blenderbim/blenderbim/bim/module/debug/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/debug/operator.py
@@ -31,10 +31,10 @@ import ifcopenshell.geom
import ifcopenshell.util.element
import ifcopenshell.util.placement
import ifcopenshell.util.representation
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.debug as core
import blenderbim.bim.handler
-import blenderbim.bim.import_ifc as import_ifc
+from ... import import_ifc
from pathlib import Path
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/demo/data.py b/src/blenderbim/blenderbim/bim/module/demo/data.py
index a1632de4a1..f21c959e73 100644
--- a/src/blenderbim/blenderbim/bim/module/demo/data.py
+++ b/src/blenderbim/blenderbim/bim/module/demo/data.py
@@ -29,7 +29,7 @@
# of "fetching data" and "displaying data" is a common concept that makes UI
# code much simpler, more efficient, and less error-prone to refresh data.
-import blenderbim.tool as tool
+from .... import tool
# All data must have a refresh function. The refresh function simply sets all
diff --git a/src/blenderbim/blenderbim/bim/module/demo/operator.py b/src/blenderbim/blenderbim/bim/module/demo/operator.py
index 59c487c1a0..bb2914e373 100644
--- a/src/blenderbim/blenderbim/bim/module/demo/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/demo/operator.py
@@ -28,7 +28,7 @@
# "Operators", since they correlate to a single user operation.
import bpy
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.demo as core
import blenderbim.bim.handler
diff --git a/src/blenderbim/blenderbim/bim/module/diff/data.py b/src/blenderbim/blenderbim/bim/module/diff/data.py
index d84b9c19a2..96e422ea3b 100644
--- a/src/blenderbim/blenderbim/bim/module/diff/data.py
+++ b/src/blenderbim/blenderbim/bim/module/diff/data.py
@@ -18,7 +18,7 @@
import bpy
import json
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/diff/operator.py b/src/blenderbim/blenderbim/bim/module/diff/operator.py
index 8acf3cad55..8639c263fe 100644
--- a/src/blenderbim/blenderbim/bim/module/diff/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/diff/operator.py
@@ -21,7 +21,7 @@ import json
import logging
import ifcopenshell
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/diff/ui.py b/src/blenderbim/blenderbim/bim/module/diff/ui.py
index 306ee98915..851f10a0e9 100644
--- a/src/blenderbim/blenderbim/bim/module/diff/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/diff/ui.py
@@ -20,7 +20,7 @@ from bpy.types import Panel
from ...ifc import IfcStore
from .data import DiffData
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
class BIM_PT_diff(Panel):
diff --git a/src/blenderbim/blenderbim/bim/module/document/data.py b/src/blenderbim/blenderbim/bim/module/document/data.py
index b273f83a34..ffee5ec1d4 100644
--- a/src/blenderbim/blenderbim/bim/module/document/data.py
+++ b/src/blenderbim/blenderbim/bim/module/document/data.py
@@ -20,7 +20,7 @@ import os
import bpy
import ifcopenshell
import ifcopenshell.util.schema
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/document/operator.py b/src/blenderbim/blenderbim/bim/module/document/operator.py
index 19c86bd135..8003132b25 100644
--- a/src/blenderbim/blenderbim/bim/module/document/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/document/operator.py
@@ -20,7 +20,7 @@ import bpy
import json
import ifcopenshell.api
import ifcopenshell.util.attribute
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.document as core
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py
index a4473764cc..5c4faa713c 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py
@@ -20,7 +20,7 @@ import os
import bpy
import math
import bmesh
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.element
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/data.py b/src/blenderbim/blenderbim/bim/module/drawing/data.py
index 61652baa8e..005412cd27 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/data.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/data.py
@@ -21,7 +21,7 @@ import bpy
import json
import ifcopenshell.util.element
import ifcopenshell.util.representation
-import blenderbim.tool as tool
+from .... import tool
from pathlib import Path
from typing import Any, Union
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py
index 60df5d1c72..96fd4d0aec 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py
@@ -25,8 +25,8 @@ import bmesh
import shapely
import ifcopenshell
import ifcopenshell.util.element
-import blenderbim.tool as tool
-import blenderbim.bim.module.drawing.helper as helper
+from .... import tool
+from . import helper
from math import pi, sin, cos, tan, acos, atan, degrees, radians, ceil
from bpy.types import SpaceView3D
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/handler.py b/src/blenderbim/blenderbim/bim/module/drawing/handler.py
index 9e45415d8f..f8d00c4392 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/handler.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/handler.py
@@ -17,8 +17,8 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.bim.module.drawing.decoration as decoration
-import blenderbim.tool as tool
+from . import decoration
+from .... import tool
from bpy.app.handlers import persistent
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/helper.py b/src/blenderbim/blenderbim/bim/module/drawing/helper.py
index ba2405b23e..7afd537cf1 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/helper.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/helper.py
@@ -19,7 +19,7 @@
import bpy
import math
import mathutils.geometry
-import blenderbim.tool as tool
+from .... import tool
from mathutils import Vector
# Code taken and updated from https://blenderartists.org/t/detecting-intersection-of-bounding-boxes/457520/2
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py
index 3c0cf7fd67..6dbaaf818e 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py
@@ -38,14 +38,14 @@ import ifcopenshell.util.element
import blenderbim.bim.schema
import blenderbim.bim.helper
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.geometry
import blenderbim.core.drawing as core
-import blenderbim.bim.module.drawing.svgwriter as svgwriter
-import blenderbim.bim.module.drawing.annotation as annotation
-import blenderbim.bim.module.drawing.sheeter as sheeter
-import blenderbim.bim.module.drawing.scheduler as scheduler
-import blenderbim.bim.module.drawing.helper as helper
+from . import svgwriter
+from . import annotation
+from . import sheeter
+from . import scheduler
+from . import helper
import blenderbim.bim.export_ifc
from .decoration import CutDecorator
from .data import DecoratorData, DrawingsData
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py
index 07136240c8..aa62306e99 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py
@@ -21,10 +21,10 @@ import bpy
import json
import enum
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.drawing as core
-import blenderbim.bim.module.drawing.annotation as annotation
-import blenderbim.bim.module.drawing.decoration as decoration
+from . import annotation
+from . import decoration
from ...prop import BIMFilterGroup
from .data import DrawingsData, DecoratorData, SheetsData, AnnotationData
from .data import refresh as refresh_drawing_data
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py b/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py
index 45e7d0883c..13d33268d3 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py
@@ -24,7 +24,7 @@ import ntpath
import pystache
import urllib.parse
import xml.etree.ElementTree as ET
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.geolocation
from xml.dom import minidom
from mathutils import Vector
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py
index 2bbddb74d2..1d04a7dd7a 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py
@@ -29,9 +29,9 @@ import ifcopenshell
import ifcopenshell.util.element
import ifcopenshell.util.representation
import ifcopenshell.util.selector
-import blenderbim.tool as tool
-import blenderbim.bim.module.drawing.helper as helper
-import blenderbim.bim.module.drawing.annotation as annotation
+from .... import tool
+from . import helper
+from . import annotation
from .data import DrawingsData
from .data import DecoratorData
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py
index 56960ee601..ee0497161a 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py
@@ -18,7 +18,7 @@
import bpy
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel
from .data import (
ProductAssignmentsData,
diff --git a/src/blenderbim/blenderbim/bim/module/drawing/workspace.py b/src/blenderbim/blenderbim/bim/module/drawing/workspace.py
index e9fe092f39..f8714b5435 100644
--- a/src/blenderbim/blenderbim/bim/module/drawing/workspace.py
+++ b/src/blenderbim/blenderbim/bim/module/drawing/workspace.py
@@ -20,7 +20,7 @@
import os
import bpy
import blenderbim.core.type
-import blenderbim.tool as tool
+from .... import tool
from ...helper import prop_with_search
from bpy.types import WorkSpaceTool
diff --git a/src/blenderbim/blenderbim/bim/module/fm/operator.py b/src/blenderbim/blenderbim/bim/module/fm/operator.py
index 8fb2ce6464..203e30d425 100644
--- a/src/blenderbim/blenderbim/bim/module/fm/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/fm/operator.py
@@ -23,7 +23,7 @@ import ifcfm
import logging
import tempfile
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
from ...operator import MultipleFileSelector
diff --git a/src/blenderbim/blenderbim/bim/module/fm/ui.py b/src/blenderbim/blenderbim/bim/module/fm/ui.py
index 99eb421389..a62bc790dc 100644
--- a/src/blenderbim/blenderbim/bim/module/fm/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/fm/ui.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with BlenderBIM Add-on. If not, see .
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel
from ...ifc import IfcStore
from .data import FMData
diff --git a/src/blenderbim/blenderbim/bim/module/geometry/data.py b/src/blenderbim/blenderbim/bim/module/geometry/data.py
index d4e70ad505..dde51302ff 100644
--- a/src/blenderbim/blenderbim/bim/module/geometry/data.py
+++ b/src/blenderbim/blenderbim/bim/module/geometry/data.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.placement
from mathutils import Vector
diff --git a/src/blenderbim/blenderbim/bim/module/geometry/helper.py b/src/blenderbim/blenderbim/bim/module/geometry/helper.py
index 0f6bb73329..7d086194d5 100644
--- a/src/blenderbim/blenderbim/bim/module/geometry/helper.py
+++ b/src/blenderbim/blenderbim/bim/module/geometry/helper.py
@@ -21,7 +21,7 @@ import bmesh
import mathutils
import ifcopenshell
import ifcopenshell.util.unit
-import blenderbim.tool as tool
+from .... import tool
from math import pi, pow
from mathutils import Vector, Matrix, geometry
from typing import Union
diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py
index 91ec87e8c6..cb79833272 100644
--- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py
@@ -34,7 +34,7 @@ import blenderbim.core.aggregate
import blenderbim.core.style
import blenderbim.core.root
import blenderbim.core.drawing
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.handler
from mathutils import Vector, Matrix
from time import time
diff --git a/src/blenderbim/blenderbim/bim/module/geometry/prop.py b/src/blenderbim/blenderbim/bim/module/geometry/prop.py
index aa82aaa2e7..af4b172f61 100644
--- a/src/blenderbim/blenderbim/bim/module/geometry/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/geometry/prop.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ...prop import StrProperty, Attribute
from .data import RepresentationsData, ViewportData
from bpy.types import PropertyGroup
diff --git a/src/blenderbim/blenderbim/bim/module/geometry/ui.py b/src/blenderbim/blenderbim/bim/module/geometry/ui.py
index bdeb34d88e..5f05c5db32 100644
--- a/src/blenderbim/blenderbim/bim/module/geometry/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/geometry/ui.py
@@ -18,7 +18,7 @@
import bpy
import blenderbim.bim
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel, Menu, UIList
from ...ifc import IfcStore
from ...helper import prop_with_search
diff --git a/src/blenderbim/blenderbim/bim/module/georeference/data.py b/src/blenderbim/blenderbim/bim/module/georeference/data.py
index ce59bb231a..820595a5cc 100644
--- a/src/blenderbim/blenderbim/bim/module/georeference/data.py
+++ b/src/blenderbim/blenderbim/bim/module/georeference/data.py
@@ -19,7 +19,7 @@
import bpy
import numpy as np
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.geolocation
from mathutils import Matrix
from ifcopenshell.util.doc import get_entity_doc
diff --git a/src/blenderbim/blenderbim/bim/module/georeference/decorator.py b/src/blenderbim/blenderbim/bim/module/georeference/decorator.py
index 6543a8f340..85b63d0ae3 100644
--- a/src/blenderbim/blenderbim/bim/module/georeference/decorator.py
+++ b/src/blenderbim/blenderbim/bim/module/georeference/decorator.py
@@ -20,7 +20,7 @@ import blf
import gpu
import bmesh
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
from math import radians
from bpy.types import SpaceView3D
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/georeference/operator.py b/src/blenderbim/blenderbim/bim/module/georeference/operator.py
index dd698ac326..f6bc1d6b08 100644
--- a/src/blenderbim/blenderbim/bim/module/georeference/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/georeference/operator.py
@@ -18,7 +18,7 @@
import bpy
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.georeference as core
from .decorator import GeoreferenceDecorator
diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py
index a027fb2c4a..70cbaed8dc 100644
--- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with BlenderBIM Add-on. If not, see .
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel
from ...helper import draw_attributes, draw_attribute
from .data import GeoreferenceData
diff --git a/src/blenderbim/blenderbim/bim/module/group/data.py b/src/blenderbim/blenderbim/bim/module/group/data.py
index 5ad1387e92..7bac3d1900 100644
--- a/src/blenderbim/blenderbim/bim/module/group/data.py
+++ b/src/blenderbim/blenderbim/bim/module/group/data.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell
import ifcopenshell.util.cost
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/group/operator.py b/src/blenderbim/blenderbim/bim/module/group/operator.py
index 4176e6c7ab..8981b414f8 100644
--- a/src/blenderbim/blenderbim/bim/module/group/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/group/operator.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell.util.attribute
import ifcopenshell.api
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
import json
diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/data.py b/src/blenderbim/blenderbim/bim/module/ifcgit/data.py
index ef1d2e09ce..aafd04e0cb 100644
--- a/src/blenderbim/blenderbim/bim/module/ifcgit/data.py
+++ b/src/blenderbim/blenderbim/bim/module/ifcgit/data.py
@@ -3,7 +3,7 @@ import os
import shutil
# import tool
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py
index 4ed7881af0..fe00910080 100644
--- a/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/ifcgit/operator.py
@@ -2,7 +2,7 @@ import os
import re
import bpy
import blenderbim.core.ifcgit as core
-import blenderbim.tool as tool
+from .... import tool
from .data import IfcGitData, refresh
diff --git a/src/blenderbim/blenderbim/bim/module/layer/data.py b/src/blenderbim/blenderbim/bim/module/layer/data.py
index 60f458f44e..b95d84d4ee 100644
--- a/src/blenderbim/blenderbim/bim/module/layer/data.py
+++ b/src/blenderbim/blenderbim/bim/module/layer/data.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/layer/operator.py b/src/blenderbim/blenderbim/bim/module/layer/operator.py
index 6df8f646f8..fced041cea 100644
--- a/src/blenderbim/blenderbim/bim/module/layer/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/layer/operator.py
@@ -22,7 +22,7 @@ import ifcopenshell.api
import ifcopenshell.util.element
import ifcopenshell.util.attribute
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/library/data.py b/src/blenderbim/blenderbim/bim/module/library/data.py
index b223609961..8d8686a1f8 100644
--- a/src/blenderbim/blenderbim/bim/module/library/data.py
+++ b/src/blenderbim/blenderbim/bim/module/library/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/library/operator.py b/src/blenderbim/blenderbim/bim/module/library/operator.py
index 5d1776aad8..ad8e030342 100644
--- a/src/blenderbim/blenderbim/bim/module/library/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/library/operator.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell.api
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.library as core
import blenderbim.bim.handler
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/library/ui.py b/src/blenderbim/blenderbim/bim/module/library/ui.py
index 03dca96494..a4e6b59eac 100644
--- a/src/blenderbim/blenderbim/bim/module/library/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/library/ui.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel, UIList
from .data import LibrariesData, LibraryReferencesData
diff --git a/src/blenderbim/blenderbim/bim/module/light/data.py b/src/blenderbim/blenderbim/bim/module/light/data.py
index 50275fb037..792fafe4a1 100644
--- a/src/blenderbim/blenderbim/bim/module/light/data.py
+++ b/src/blenderbim/blenderbim/bim/module/light/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.geolocation
from mathutils import Vector
diff --git a/src/blenderbim/blenderbim/bim/module/light/decorator.py b/src/blenderbim/blenderbim/bim/module/light/decorator.py
index c8f02447c0..40869e6a67 100644
--- a/src/blenderbim/blenderbim/bim/module/light/decorator.py
+++ b/src/blenderbim/blenderbim/bim/module/light/decorator.py
@@ -20,7 +20,7 @@ import bpy
import blf
import gpu
import bmesh
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import SpaceView3D
from math import radians
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/light/operator.py b/src/blenderbim/blenderbim/bim/module/light/operator.py
index 2262da4018..bb1792fe3a 100644
--- a/src/blenderbim/blenderbim/bim/module/light/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/light/operator.py
@@ -24,7 +24,7 @@ import multiprocessing
import pyradiance as pr
import ifcopenshell
import ifcopenshell.geom
-import blenderbim.tool as tool
+from .... import tool
from pathlib import Path
from typing import Union
from .data import SolarData
diff --git a/src/blenderbim/blenderbim/bim/module/light/prop.py b/src/blenderbim/blenderbim/bim/module/light/prop.py
index 192feac07a..2a39f830a0 100644
--- a/src/blenderbim/blenderbim/bim/module/light/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/light/prop.py
@@ -20,7 +20,7 @@ import bpy
import pytz
import tzfpy
import datetime
-import blenderbim.tool as tool
+from .... import tool
from math import radians, pi
from mathutils import Euler, Vector, Matrix, Quaternion
from bpy.props import IntProperty, StringProperty, EnumProperty, FloatProperty, FloatVectorProperty, BoolProperty
diff --git a/src/blenderbim/blenderbim/bim/module/light/ui.py b/src/blenderbim/blenderbim/bim/module/light/ui.py
index 0ae245d53b..d9f7474ac9 100644
--- a/src/blenderbim/blenderbim/bim/module/light/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/light/ui.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
from .data import SolarData
diff --git a/src/blenderbim/blenderbim/bim/module/material/data.py b/src/blenderbim/blenderbim/bim/module/material/data.py
index bc3ee20da5..a178f8388c 100644
--- a/src/blenderbim/blenderbim/bim/module/material/data.py
+++ b/src/blenderbim/blenderbim/bim/module/material/data.py
@@ -22,7 +22,7 @@ import ifcopenshell
import ifcopenshell.util.element
import ifcopenshell.util.doc
import ifcopenshell.util.schema
-import blenderbim.tool as tool
+from .... import tool
from ..drawing.helper import format_distance
diff --git a/src/blenderbim/blenderbim/bim/module/material/operator.py b/src/blenderbim/blenderbim/bim/module/material/operator.py
index 56618246eb..2ad0cca580 100644
--- a/src/blenderbim/blenderbim/bim/module/material/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/material/operator.py
@@ -23,7 +23,7 @@ import ifcopenshell.util.element
import ifcopenshell.util.attribute
import ifcopenshell.util.representation
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.style
import blenderbim.core.material as core
import blenderbim.bim.module.model.profile as model_profile
diff --git a/src/blenderbim/blenderbim/bim/module/material/prop.py b/src/blenderbim/blenderbim/bim/module/material/prop.py
index 38f3a57e37..738670f836 100644
--- a/src/blenderbim/blenderbim/bim/module/material/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/material/prop.py
@@ -18,7 +18,7 @@
import bpy
from ifcopenshell.util.doc import get_entity_doc
-import blenderbim.tool as tool
+from .... import tool
from .data import MaterialsData, ObjectMaterialData
from ...ifc import IfcStore
from ...prop import StrProperty, Attribute
diff --git a/src/blenderbim/blenderbim/bim/module/material/ui.py b/src/blenderbim/blenderbim/bim/module/material/ui.py
index 7c7e40158b..ba25029720 100644
--- a/src/blenderbim/blenderbim/bim/module/material/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/material/ui.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
import bpy
from bpy.types import Panel, UIList
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/misc/operator.py b/src/blenderbim/blenderbim/bim/module/misc/operator.py
index 0b311f2706..5793523cc9 100644
--- a/src/blenderbim/blenderbim/bim/module/misc/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/misc/operator.py
@@ -20,7 +20,7 @@ import bpy
import numpy as np
import ifcopenshell
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.misc as core
import blenderbim.core.geometry as core_geometry
import blenderbim.core.root
diff --git a/src/blenderbim/blenderbim/bim/module/model/array.py b/src/blenderbim/blenderbim/bim/module/model/array.py
index a521ee500b..c9b15e5f23 100644
--- a/src/blenderbim/blenderbim/bim/module/model/array.py
+++ b/src/blenderbim/blenderbim/bim/module/model/array.py
@@ -21,7 +21,7 @@ import json
import ifcopenshell
import ifcopenshell.api
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/model/covering.py b/src/blenderbim/blenderbim/bim/module/model/covering.py
index efd1c47467..0cc51fb205 100644
--- a/src/blenderbim/blenderbim/bim/module/model/covering.py
+++ b/src/blenderbim/blenderbim/bim/module/model/covering.py
@@ -19,7 +19,7 @@
import bpy
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.covering as core
diff --git a/src/blenderbim/blenderbim/bim/module/model/data.py b/src/blenderbim/blenderbim/bim/module/model/data.py
index 7f39a44552..1b84db274b 100644
--- a/src/blenderbim/blenderbim/bim/module/model/data.py
+++ b/src/blenderbim/blenderbim/bim/module/model/data.py
@@ -22,7 +22,7 @@ import json
import ifcopenshell
import ifcopenshell.util.element
from ifcopenshell.util.doc import get_entity_doc, get_predefined_type_doc
-import blenderbim.tool as tool
+from .... import tool
from math import degrees
diff --git a/src/blenderbim/blenderbim/bim/module/model/decorator.py b/src/blenderbim/blenderbim/bim/module/model/decorator.py
index 2bc9ceb608..4a78d012d8 100644
--- a/src/blenderbim/blenderbim/bim/module/model/decorator.py
+++ b/src/blenderbim/blenderbim/bim/module/model/decorator.py
@@ -18,7 +18,7 @@
import gpu
import bmesh
-import blenderbim.tool as tool
+from .... import tool
from math import sin, cos, radians
from bpy.types import SpaceView3D
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/model/door.py b/src/blenderbim/blenderbim/bim/module/model/door.py
index e089059c6e..893780705c 100644
--- a/src/blenderbim/blenderbim/bim/module/model/door.py
+++ b/src/blenderbim/blenderbim/bim/module/model/door.py
@@ -26,7 +26,7 @@ import ifcopenshell.api
import ifcopenshell.util.element
import ifcopenshell.util.representation
from ifcopenshell.util.shape_builder import V
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.geometry
import blenderbim.core.geometry as core
import blenderbim.core.root
diff --git a/src/blenderbim/blenderbim/bim/module/model/grid.py b/src/blenderbim/blenderbim/bim/module/model/grid.py
index 120dd15766..c64588861f 100644
--- a/src/blenderbim/blenderbim/bim/module/model/grid.py
+++ b/src/blenderbim/blenderbim/bim/module/model/grid.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell.api
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Operator
from bpy.props import FloatProperty, IntProperty
from mathutils import Vector
diff --git a/src/blenderbim/blenderbim/bim/module/model/mep.py b/src/blenderbim/blenderbim/bim/module/model/mep.py
index e4d8fd3d3a..6cfafd15f8 100644
--- a/src/blenderbim/blenderbim/bim/module/model/mep.py
+++ b/src/blenderbim/blenderbim/bim/module/model/mep.py
@@ -34,7 +34,7 @@ import blenderbim.bim.handler
import blenderbim.core.type
import blenderbim.core.root
import blenderbim.core.geometry
-import blenderbim.tool as tool
+from .... import tool
from math import pi, degrees, radians, sin, cos, asin, tan
from copy import copy
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/model/opening.py b/src/blenderbim/blenderbim/bim/module/model/opening.py
index 26cfc0549e..322cad792a 100644
--- a/src/blenderbim/blenderbim/bim/module/model/opening.py
+++ b/src/blenderbim/blenderbim/bim/module/model/opening.py
@@ -32,9 +32,9 @@ import ifcopenshell.util.shape_builder
import ifcopenshell.util.placement
import ifcopenshell.util.representation
import ifcopenshell.util.unit
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.geometry
-import blenderbim.bim.import_ifc as import_ifc
+from ... import import_ifc
import blenderbim.bim.handler
from ...ifc import IfcStore
from math import pi, radians
diff --git a/src/blenderbim/blenderbim/bim/module/model/pie.py b/src/blenderbim/blenderbim/bim/module/model/pie.py
index 229ebca27b..c3c2f0691c 100644
--- a/src/blenderbim/blenderbim/bim/module/model/pie.py
+++ b/src/blenderbim/blenderbim/bim/module/model/pie.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.spatial
import blenderbim.core.aggregate
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/model/product.py b/src/blenderbim/blenderbim/bim/module/model/product.py
index 25b93d6e43..b69364d479 100644
--- a/src/blenderbim/blenderbim/bim/module/model/product.py
+++ b/src/blenderbim/blenderbim/bim/module/model/product.py
@@ -28,7 +28,7 @@ import ifcopenshell.util.placement
import ifcopenshell.util.representation
import ifcopenshell.util.type
import ifcopenshell.util.unit
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.aggregate
import blenderbim.core.type
import blenderbim.core.geometry
diff --git a/src/blenderbim/blenderbim/bim/module/model/profile.py b/src/blenderbim/blenderbim/bim/module/model/profile.py
index 464b0ad492..25b10f7c32 100644
--- a/src/blenderbim/blenderbim/bim/module/model/profile.py
+++ b/src/blenderbim/blenderbim/bim/module/model/profile.py
@@ -28,7 +28,7 @@ import ifcopenshell.util.element
import ifcopenshell.util.placement
import ifcopenshell.util.representation
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.type
import blenderbim.core.geometry
import blenderbim.core.material
diff --git a/src/blenderbim/blenderbim/bim/module/model/prop.py b/src/blenderbim/blenderbim/bim/module/model/prop.py
index 08c6a1e40a..d822931f49 100644
--- a/src/blenderbim/blenderbim/bim/module/model/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/model/prop.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
import math
from ...prop import ObjProperty
from .data import AuthoringData
diff --git a/src/blenderbim/blenderbim/bim/module/model/railing.py b/src/blenderbim/blenderbim/bim/module/model/railing.py
index f046d599e0..4d615f22d0 100644
--- a/src/blenderbim/blenderbim/bim/module/model/railing.py
+++ b/src/blenderbim/blenderbim/bim/module/model/railing.py
@@ -26,7 +26,7 @@ import ifcopenshell.util.unit
from ifcopenshell.util.shape_builder import V
import blenderbim.core.root
import blenderbim.core.geometry
-import blenderbim.tool as tool
+from .... import tool
from .door import bm_sort_out_geom
from .data import RailingData, refresh
from .decorator import ProfileDecorator
diff --git a/src/blenderbim/blenderbim/bim/module/model/roof.py b/src/blenderbim/blenderbim/bim/module/model/roof.py
index 368ef9210c..4ece6c104f 100644
--- a/src/blenderbim/blenderbim/bim/module/model/roof.py
+++ b/src/blenderbim/blenderbim/bim/module/model/roof.py
@@ -24,7 +24,7 @@ import ifcopenshell.api
import ifcopenshell.util.representation
import ifcopenshell.util.unit
import blenderbim.core.root
-import blenderbim.tool as tool
+from .... import tool
from ...helper import convert_property_group_from_si
from .door import bm_sort_out_geom
from .data import RoofData, refresh
diff --git a/src/blenderbim/blenderbim/bim/module/model/root.py b/src/blenderbim/blenderbim/bim/module/model/root.py
index 6cc4364c08..5bf5d84987 100644
--- a/src/blenderbim/blenderbim/bim/module/model/root.py
+++ b/src/blenderbim/blenderbim/bim/module/model/root.py
@@ -19,7 +19,7 @@
import bpy
import ifcopenshell.file
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IFC_CONNECTED_TYPE
from typing import Any
diff --git a/src/blenderbim/blenderbim/bim/module/model/slab.py b/src/blenderbim/blenderbim/bim/module/model/slab.py
index 6ab7b54713..5b4252d17b 100644
--- a/src/blenderbim/blenderbim/bim/module/model/slab.py
+++ b/src/blenderbim/blenderbim/bim/module/model/slab.py
@@ -30,7 +30,7 @@ import blenderbim.bim.handler
import blenderbim.core.type
import blenderbim.core.geometry
import blenderbim.core.root
-import blenderbim.tool as tool
+from .... import tool
from mathutils import Vector, Matrix
from ..geometry.helper import Helper
from .decorator import ProfileDecorator
diff --git a/src/blenderbim/blenderbim/bim/module/model/space.py b/src/blenderbim/blenderbim/bim/module/model/space.py
index 28b9f71b21..691f6b7f36 100644
--- a/src/blenderbim/blenderbim/bim/module/model/space.py
+++ b/src/blenderbim/blenderbim/bim/module/model/space.py
@@ -18,7 +18,7 @@
import bpy
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.spatial as core
diff --git a/src/blenderbim/blenderbim/bim/module/model/stair.py b/src/blenderbim/blenderbim/bim/module/model/stair.py
index ac5947ccc4..4fbd23b400 100644
--- a/src/blenderbim/blenderbim/bim/module/model/stair.py
+++ b/src/blenderbim/blenderbim/bim/module/model/stair.py
@@ -24,7 +24,7 @@ import ifcopenshell.api
import ifcopenshell.util.representation
import ifcopenshell.util.unit
import blenderbim.core.root
-import blenderbim.tool as tool
+from .... import tool
from mathutils import Vector
from bmesh.types import BMVert
from bpy.types import Operator
diff --git a/src/blenderbim/blenderbim/bim/module/model/sverchok_modifier.py b/src/blenderbim/blenderbim/bim/module/model/sverchok_modifier.py
index 8a1946896a..d63fa926ff 100644
--- a/src/blenderbim/blenderbim/bim/module/model/sverchok_modifier.py
+++ b/src/blenderbim/blenderbim/bim/module/model/sverchok_modifier.py
@@ -20,7 +20,7 @@ import bpy
import bmesh
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
import json
import zipfile
diff --git a/src/blenderbim/blenderbim/bim/module/model/ui.py b/src/blenderbim/blenderbim/bim/module/model/ui.py
index 2688b744a8..cd928a6251 100644
--- a/src/blenderbim/blenderbim/bim/module/model/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/model/ui.py
@@ -18,7 +18,7 @@
import bpy
import blenderbim.bim
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel, Menu
from .data import (
AuthoringData,
diff --git a/src/blenderbim/blenderbim/bim/module/model/wall.py b/src/blenderbim/blenderbim/bim/module/model/wall.py
index 07d8a01c50..340ce714ab 100644
--- a/src/blenderbim/blenderbim/bim/module/model/wall.py
+++ b/src/blenderbim/blenderbim/bim/module/model/wall.py
@@ -33,7 +33,7 @@ import blenderbim.core.type
import blenderbim.core.root
import blenderbim.core.geometry
import blenderbim.core.model as core
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
from math import pi, sin, cos, degrees
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/model/window.py b/src/blenderbim/blenderbim/bim/module/model/window.py
index f519dea941..943edc930b 100644
--- a/src/blenderbim/blenderbim/bim/module/model/window.py
+++ b/src/blenderbim/blenderbim/bim/module/model/window.py
@@ -22,7 +22,7 @@ import json
import bmesh
import collections
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.root
import blenderbim.core.geometry
from ifcopenshell.api.geometry.add_window_representation import DEFAULT_PANEL_SCHEMAS
diff --git a/src/blenderbim/blenderbim/bim/module/model/workspace.py b/src/blenderbim/blenderbim/bim/module/model/workspace.py
index 817236b90b..a95dc96062 100644
--- a/src/blenderbim/blenderbim/bim/module/model/workspace.py
+++ b/src/blenderbim/blenderbim/bim/module/model/workspace.py
@@ -18,7 +18,7 @@
import os
import bpy
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.model as core
from .wall import DumbWallJoiner
from ...helper import prop_with_search
diff --git a/src/blenderbim/blenderbim/bim/module/nest/data.py b/src/blenderbim/blenderbim/bim/module/nest/data.py
index 9cbc655985..400029072c 100644
--- a/src/blenderbim/blenderbim/bim/module/nest/data.py
+++ b/src/blenderbim/blenderbim/bim/module/nest/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.element
diff --git a/src/blenderbim/blenderbim/bim/module/nest/operator.py b/src/blenderbim/blenderbim/bim/module/nest/operator.py
index dcb7bb6273..179c23bdbd 100644
--- a/src/blenderbim/blenderbim/bim/module/nest/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/nest/operator.py
@@ -19,7 +19,7 @@
import bpy
import ifcopenshell
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.nest as core
import blenderbim.core.spatial
import blenderbim.bim.handler
diff --git a/src/blenderbim/blenderbim/bim/module/owner/data.py b/src/blenderbim/blenderbim/bim/module/owner/data.py
index 068bf74164..bf2be78805 100644
--- a/src/blenderbim/blenderbim/bim/module/owner/data.py
+++ b/src/blenderbim/blenderbim/bim/module/owner/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/owner/operator.py b/src/blenderbim/blenderbim/bim/module/owner/operator.py
index 4f46c1cc65..efb1f0a0ea 100644
--- a/src/blenderbim/blenderbim/bim/module/owner/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/owner/operator.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.owner as core
import blenderbim.bim.handler
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/owner/prop.py b/src/blenderbim/blenderbim/bim/module/owner/prop.py
index e197bd333f..d1a1be4018 100644
--- a/src/blenderbim/blenderbim/bim/module/owner/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/owner/prop.py
@@ -18,7 +18,7 @@
import bpy
from ifcopenshell.util.doc import get_entity_doc
-import blenderbim.tool as tool
+from .... import tool
from ...prop import StrProperty, Attribute
from .data import OwnerData, ActorData, ObjectActorData
from bpy.types import PropertyGroup
diff --git a/src/blenderbim/blenderbim/bim/module/owner/ui.py b/src/blenderbim/blenderbim/bim/module/owner/ui.py
index ba23c32745..6624f54325 100644
--- a/src/blenderbim/blenderbim/bim/module/owner/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/owner/ui.py
@@ -18,7 +18,7 @@
import bpy
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from .data import PeopleData, OrganisationsData, OwnerData, ActorData, ObjectActorData
diff --git a/src/blenderbim/blenderbim/bim/module/patch/operator.py b/src/blenderbim/blenderbim/bim/module/patch/operator.py
index 9397b52f33..a35bf297fe 100644
--- a/src/blenderbim/blenderbim/bim/module/patch/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/patch/operator.py
@@ -20,7 +20,7 @@ import os
import bpy
import json
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.patch as core
import blenderbim.bim.handler
from pathlib import Path
diff --git a/src/blenderbim/blenderbim/bim/module/patch/ui.py b/src/blenderbim/blenderbim/bim/module/patch/ui.py
index 4d71817c78..9bb9f42ad0 100644
--- a/src/blenderbim/blenderbim/bim/module/patch/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/patch/ui.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ...helper import prop_with_search
from ...helper import draw_attributes
diff --git a/src/blenderbim/blenderbim/bim/module/profile/data.py b/src/blenderbim/blenderbim/bim/module/profile/data.py
index 9d74d2203c..b21e093e2a 100644
--- a/src/blenderbim/blenderbim/bim/module/profile/data.py
+++ b/src/blenderbim/blenderbim/bim/module/profile/data.py
@@ -20,7 +20,7 @@ import bpy
import bpy.utils
import bpy.utils.previews
import ifcopenshell.util.doc
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/profile/operator.py b/src/blenderbim/blenderbim/bim/module/profile/operator.py
index cf8f5a57b8..5fa30a90de 100644
--- a/src/blenderbim/blenderbim/bim/module/profile/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/profile/operator.py
@@ -19,7 +19,7 @@
import bpy
import ifcopenshell.api
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.module.model.profile as model_profile
import blenderbim.core.profile as core
from ..model.decorator import ProfileDecorator
diff --git a/src/blenderbim/blenderbim/bim/module/profile/prop.py b/src/blenderbim/blenderbim/bim/module/profile/prop.py
index 0fc4e1fea7..f02ca1b2bc 100644
--- a/src/blenderbim/blenderbim/bim/module/profile/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/profile/prop.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell
import ifcopenshell.util.schema
import ifcopenshell.util.attribute
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
from ...prop import StrProperty, Attribute
from .data import ProfileData
diff --git a/src/blenderbim/blenderbim/bim/module/profile/ui.py b/src/blenderbim/blenderbim/bim/module/profile/ui.py
index 285b8c543a..3af37f4c4e 100644
--- a/src/blenderbim/blenderbim/bim/module/profile/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/profile/ui.py
@@ -18,7 +18,7 @@
import bpy
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel, UIList
from .data import ProfileData
from .prop import generate_thumbnail_for_active_profile
diff --git a/src/blenderbim/blenderbim/bim/module/project/data.py b/src/blenderbim/blenderbim/bim/module/project/data.py
index 8817da9c65..957f1b4a11 100644
--- a/src/blenderbim/blenderbim/bim/module/project/data.py
+++ b/src/blenderbim/blenderbim/bim/module/project/data.py
@@ -18,7 +18,7 @@
import os
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/project/decorator.py b/src/blenderbim/blenderbim/bim/module/project/decorator.py
index 511a8ffde5..0c4c8b5718 100644
--- a/src/blenderbim/blenderbim/bim/module/project/decorator.py
+++ b/src/blenderbim/blenderbim/bim/module/project/decorator.py
@@ -19,7 +19,7 @@
import gpu
import bpy
import bmesh
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import SpaceView3D
from mathutils import Vector
from gpu_extras.batch import batch_for_shader
diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py
index cfe569d569..9037c96b2a 100644
--- a/src/blenderbim/blenderbim/bim/module/project/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/project/operator.py
@@ -39,7 +39,7 @@ import ifcopenshell.util.shape
import ifcopenshell.util.unit
import blenderbim.bim.handler
import blenderbim.bim.schema
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.project as core
import blenderbim.core.context
import blenderbim.core.owner
diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py
index 6e31ef926c..452db11b3a 100644
--- a/src/blenderbim/blenderbim/bim/module/project/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/project/ui.py
@@ -18,7 +18,7 @@
import os
import blenderbim.bim
-import blenderbim.tool as tool
+from .... import tool
from ...helper import prop_with_search
from bpy.types import Panel, Menu, UIList
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/project/workspace.py b/src/blenderbim/blenderbim/bim/module/project/workspace.py
index 26112add3c..31503eadca 100644
--- a/src/blenderbim/blenderbim/bim/module/project/workspace.py
+++ b/src/blenderbim/blenderbim/bim/module/project/workspace.py
@@ -18,7 +18,7 @@
import os
import bpy
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import WorkSpaceTool
from .data import LinksData
diff --git a/src/blenderbim/blenderbim/bim/module/pset/data.py b/src/blenderbim/blenderbim/bim/module/pset/data.py
index 35a48d6b02..390b475619 100644
--- a/src/blenderbim/blenderbim/bim/module/pset/data.py
+++ b/src/blenderbim/blenderbim/bim/module/pset/data.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell
import ifcopenshell.util.doc
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.schema
diff --git a/src/blenderbim/blenderbim/bim/module/pset/operator.py b/src/blenderbim/blenderbim/bim/module/pset/operator.py
index aea9a4c5f3..be27a8e5fd 100644
--- a/src/blenderbim/blenderbim/bim/module/pset/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/pset/operator.py
@@ -25,7 +25,7 @@ import ifcopenshell.util.attribute
import blenderbim.bim.schema
import blenderbim.bim.helper
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.pset as core
import blenderbim.bim.module.pset.data
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/pset/prop.py b/src/blenderbim/blenderbim/bim/module/pset/prop.py
index 374647584c..fdee2fd50c 100644
--- a/src/blenderbim/blenderbim/bim/module/pset/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/pset/prop.py
@@ -22,7 +22,7 @@ import ifcopenshell
import ifcopenshell.util.attribute
import ifcopenshell.util.doc
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
from ...prop import Attribute, StrProperty
from .data import AddEditCustomPropertiesData, ObjectPsetsData, MaterialPsetsData
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/pset/ui.py b/src/blenderbim/blenderbim/bim/module/pset/ui.py
index 8aa9f7cdea..82dcbb0e8f 100644
--- a/src/blenderbim/blenderbim/bim/module/pset/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/pset/ui.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with BlenderBIM Add-on. If not, see .
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel
from ...ifc import IfcStore
from ...helper import prop_with_search
diff --git a/src/blenderbim/blenderbim/bim/module/pset_template/data.py b/src/blenderbim/blenderbim/bim/module/pset_template/data.py
index b0f240f739..4829ad696a 100644
--- a/src/blenderbim/blenderbim/bim/module/pset_template/data.py
+++ b/src/blenderbim/blenderbim/bim/module/pset_template/data.py
@@ -22,7 +22,7 @@ import pathlib
import ifcopenshell
import ifcopenshell.util.attribute
import ifcopenshell.util.doc
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/pset_template/operator.py b/src/blenderbim/blenderbim/bim/module/pset_template/operator.py
index 600a7e3ab9..0db9e773a4 100644
--- a/src/blenderbim/blenderbim/bim/module/pset_template/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/pset_template/operator.py
@@ -22,7 +22,7 @@ import ifcopenshell
import ifcopenshell.api
import blenderbim.bim.schema
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
from typing import final
diff --git a/src/blenderbim/blenderbim/bim/module/qto/calculator.py b/src/blenderbim/blenderbim/bim/module/qto/calculator.py
index 3e48666062..d904c0582e 100644
--- a/src/blenderbim/blenderbim/bim/module/qto/calculator.py
+++ b/src/blenderbim/blenderbim/bim/module/qto/calculator.py
@@ -20,7 +20,7 @@ import bpy
import math
import bmesh
import mathutils
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell
import ifcopenshell.geom
import ifcopenshell.util.element
diff --git a/src/blenderbim/blenderbim/bim/module/qto/data.py b/src/blenderbim/blenderbim/bim/module/qto/data.py
index 1be10de8fd..67c991acee 100644
--- a/src/blenderbim/blenderbim/bim/module/qto/data.py
+++ b/src/blenderbim/blenderbim/bim/module/qto/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/qto/operator.py b/src/blenderbim/blenderbim/bim/module/qto/operator.py
index f3e3d8973b..6353b9748e 100644
--- a/src/blenderbim/blenderbim/bim/module/qto/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/qto/operator.py
@@ -19,7 +19,7 @@
import bpy
import ifcopenshell
import ifcopenshell.api
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.qto as core
from ...ifc import IfcStore
from . import helper
diff --git a/src/blenderbim/blenderbim/bim/module/resource/data.py b/src/blenderbim/blenderbim/bim/module/resource/data.py
index d21154c33f..228af5885d 100644
--- a/src/blenderbim/blenderbim/bim/module/resource/data.py
+++ b/src/blenderbim/blenderbim/bim/module/resource/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell
import ifcopenshell.util.resource
diff --git a/src/blenderbim/blenderbim/bim/module/resource/operator.py b/src/blenderbim/blenderbim/bim/module/resource/operator.py
index ac7524f6a5..dc23d8627b 100644
--- a/src/blenderbim/blenderbim/bim/module/resource/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/resource/operator.py
@@ -20,7 +20,7 @@ import bpy
from bpy_extras.io_utils import ImportHelper
from .ui import draw_productivity_ui
import blenderbim.core.resource as core
-import blenderbim.tool as tool
+from .... import tool
class LoadResources(bpy.types.Operator):
diff --git a/src/blenderbim/blenderbim/bim/module/resource/prop.py b/src/blenderbim/blenderbim/bim/module/resource/prop.py
index 8b0c3286d7..a42a27c1ba 100644
--- a/src/blenderbim/blenderbim/bim/module/resource/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/resource/prop.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell.api
import ifcopenshell.util.resource
from ...ifc import IfcStore
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.module.pset.data
import blenderbim.bim.module.resource.data
import blenderbim.bim.module.sequence.data
diff --git a/src/blenderbim/blenderbim/bim/module/root/data.py b/src/blenderbim/blenderbim/bim/module/root/data.py
index 628d5ac024..53c016e394 100644
--- a/src/blenderbim/blenderbim/bim/module/root/data.py
+++ b/src/blenderbim/blenderbim/bim/module/root/data.py
@@ -21,7 +21,7 @@ import bpy
import ifcopenshell.util.element
import ifcopenshell.util.schema
from ifcopenshell.util.doc import get_entity_doc, get_predefined_type_doc, get_class_suggestions
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
from typing import Union
diff --git a/src/blenderbim/blenderbim/bim/module/root/operator.py b/src/blenderbim/blenderbim/bim/module/root/operator.py
index e35f2095e9..a16a844839 100644
--- a/src/blenderbim/blenderbim/bim/module/root/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/root/operator.py
@@ -29,7 +29,7 @@ import blenderbim.core.spatial
import blenderbim.core.style
import blenderbim.core.type
import blenderbim.core.root as core
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
from ...helper import get_enum_items
diff --git a/src/blenderbim/blenderbim/bim/module/root/prop.py b/src/blenderbim/blenderbim/bim/module/root/prop.py
index 60e23fae82..4678a9bbcc 100644
--- a/src/blenderbim/blenderbim/bim/module/root/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/root/prop.py
@@ -19,7 +19,7 @@
import bpy
import ifcopenshell
import ifcopenshell.util.schema
-import blenderbim.tool as tool
+from .... import tool
from .data import IfcClassData
from bpy.types import PropertyGroup
from bpy.props import (
diff --git a/src/blenderbim/blenderbim/bim/module/search/data.py b/src/blenderbim/blenderbim/bim/module/search/data.py
index 9907ea8f85..af9580e1cd 100644
--- a/src/blenderbim/blenderbim/bim/module/search/data.py
+++ b/src/blenderbim/blenderbim/bim/module/search/data.py
@@ -19,7 +19,7 @@
import bpy
import json
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/search/operator.py b/src/blenderbim/blenderbim/bim/module/search/operator.py
index e48f340fb0..8d2011ed3e 100644
--- a/src/blenderbim/blenderbim/bim/module/search/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/search/operator.py
@@ -23,7 +23,7 @@ import ifcopenshell.api
import ifcopenshell.guid
import ifcopenshell.util.element
import ifcopenshell.util.selector
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
import blenderbim.core.search as core
from itertools import cycle
diff --git a/src/blenderbim/blenderbim/bim/module/search/prop.py b/src/blenderbim/blenderbim/bim/module/search/prop.py
index 10c69ac76c..cdaacfe055 100644
--- a/src/blenderbim/blenderbim/bim/module/search/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/search/prop.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ifcopenshell import util
from ...prop import ObjProperty, BIMFilterGroup
from .data import SearchData, ColourByPropertyData, SelectSimilarData
diff --git a/src/blenderbim/blenderbim/bim/module/sequence/data.py b/src/blenderbim/blenderbim/bim/module/sequence/data.py
index 239c99bf9d..7f6334693c 100644
--- a/src/blenderbim/blenderbim/bim/module/sequence/data.py
+++ b/src/blenderbim/blenderbim/bim/module/sequence/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell
import ifcopenshell.util.date as dateutil
import json
diff --git a/src/blenderbim/blenderbim/bim/module/sequence/operator.py b/src/blenderbim/blenderbim/bim/module/sequence/operator.py
index 3925a24b1d..09473eaa66 100644
--- a/src/blenderbim/blenderbim/bim/module/sequence/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/sequence/operator.py
@@ -23,8 +23,8 @@ import time
import calendar
import isodate
import blenderbim.core.sequence as core
-import blenderbim.tool as tool
-import blenderbim.bim.module.sequence.helper as helper
+from .... import tool
+from . import helper
import ifcopenshell.util.sequence
import ifcopenshell.util.selector
from datetime import datetime
diff --git a/src/blenderbim/blenderbim/bim/module/sequence/prop.py b/src/blenderbim/blenderbim/bim/module/sequence/prop.py
index ebfdc74517..cc6605271d 100644
--- a/src/blenderbim/blenderbim/bim/module/sequence/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/sequence/prop.py
@@ -21,7 +21,7 @@ import isodate
import ifcopenshell.api
import ifcopenshell.util.attribute
from ifcopenshell.util.doc import get_predefined_type_doc
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.sequence as core
from ...ifc import IfcStore
from .data import SequenceData, AnimationColorSchemeData, refresh as refresh_sequence_data
diff --git a/src/blenderbim/blenderbim/bim/module/spatial/data.py b/src/blenderbim/blenderbim/bim/module/spatial/data.py
index 63fe167a81..50be523279 100644
--- a/src/blenderbim/blenderbim/bim/module/spatial/data.py
+++ b/src/blenderbim/blenderbim/bim/module/spatial/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.element
diff --git a/src/blenderbim/blenderbim/bim/module/spatial/operator.py b/src/blenderbim/blenderbim/bim/module/spatial/operator.py
index 77d2652f65..31a1ad6cdb 100644
--- a/src/blenderbim/blenderbim/bim/module/spatial/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/spatial/operator.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell.util.element
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.spatial as core
import blenderbim.core.geometry
import blenderbim.core.aggregate
diff --git a/src/blenderbim/blenderbim/bim/module/spatial/prop.py b/src/blenderbim/blenderbim/bim/module/spatial/prop.py
index 0b24c13bf5..4f6b729a1e 100644
--- a/src/blenderbim/blenderbim/bim/module/spatial/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/spatial/prop.py
@@ -30,7 +30,7 @@ from bpy.props import (
FloatVectorProperty,
CollectionProperty,
)
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell
diff --git a/src/blenderbim/blenderbim/bim/module/spatial/ui.py b/src/blenderbim/blenderbim/bim/module/spatial/ui.py
index 47feefe989..62dd38f9f5 100644
--- a/src/blenderbim/blenderbim/bim/module/spatial/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/spatial/ui.py
@@ -18,7 +18,7 @@
from bpy.types import Panel, UIList
from .data import SpatialData, SpatialDecompositionData
-import blenderbim.tool as tool
+from .... import tool
class BIM_PT_spatial(Panel):
diff --git a/src/blenderbim/blenderbim/bim/module/spatial/workspace.py b/src/blenderbim/blenderbim/bim/module/spatial/workspace.py
index 435410ec75..09d23c06b3 100644
--- a/src/blenderbim/blenderbim/bim/module/spatial/workspace.py
+++ b/src/blenderbim/blenderbim/bim/module/spatial/workspace.py
@@ -19,7 +19,7 @@
import os
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ..model.data import AuthoringData
from bpy.types import WorkSpaceTool
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/structural/data.py b/src/blenderbim/blenderbim/bim/module/structural/data.py
index 2d08c5a5e0..d3fc412bce 100644
--- a/src/blenderbim/blenderbim/bim/module/structural/data.py
+++ b/src/blenderbim/blenderbim/bim/module/structural/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
import ifcopenshell.util.doc
diff --git a/src/blenderbim/blenderbim/bim/module/structural/operator.py b/src/blenderbim/blenderbim/bim/module/structural/operator.py
index 25d9a73e36..0a48da6e05 100644
--- a/src/blenderbim/blenderbim/bim/module/structural/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/structural/operator.py
@@ -24,7 +24,7 @@ import ifcopenshell.util.attribute
import blenderbim.bim.helper
import blenderbim.bim.handler
import blenderbim.core.structural as core
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.context
from math import degrees
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/structural/prop.py b/src/blenderbim/blenderbim/bim/module/structural/prop.py
index 617ba8f35d..ade24e2945 100644
--- a/src/blenderbim/blenderbim/bim/module/structural/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/structural/prop.py
@@ -18,7 +18,7 @@
from math import radians
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ...ifc import IfcStore
from ...prop import StrProperty, Attribute
from .data import StructuralLoadCasesData, StructuralLoadsData, BoundaryConditionsData
diff --git a/src/blenderbim/blenderbim/bim/module/structural/workspace.py b/src/blenderbim/blenderbim/bim/module/structural/workspace.py
index acaa18716b..46e06ee63a 100644
--- a/src/blenderbim/blenderbim/bim/module/structural/workspace.py
+++ b/src/blenderbim/blenderbim/bim/module/structural/workspace.py
@@ -19,7 +19,7 @@
import os
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ...helper import prop_with_search
from bpy.types import WorkSpaceTool
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/style/data.py b/src/blenderbim/blenderbim/bim/module/style/data.py
index 7bcb05482b..664ed56c14 100644
--- a/src/blenderbim/blenderbim/bim/module/style/data.py
+++ b/src/blenderbim/blenderbim/bim/module/style/data.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
from ifcopenshell.util.doc import get_entity_doc
from typing import Union
diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py
index e94e925404..1cda5f6db9 100644
--- a/src/blenderbim/blenderbim/bim/module/style/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/style/operator.py
@@ -20,7 +20,7 @@ import os
import bpy
import blenderbim.bim.helper
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.style as core
import ifcopenshell.api
import ifcopenshell.api.style
diff --git a/src/blenderbim/blenderbim/bim/module/style/prop.py b/src/blenderbim/blenderbim/bim/module/style/prop.py
index cd1aa043b1..5571f0c663 100644
--- a/src/blenderbim/blenderbim/bim/module/style/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/style/prop.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
from ...prop import StrProperty, Attribute
from .data import StylesData
from bpy.types import PropertyGroup
diff --git a/src/blenderbim/blenderbim/bim/module/style/ui.py b/src/blenderbim/blenderbim/bim/module/style/ui.py
index 42f96021a6..1e83cd8b05 100644
--- a/src/blenderbim/blenderbim/bim/module/style/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/style/ui.py
@@ -18,7 +18,7 @@
import bpy
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel, UIList
from ...ifc import IfcStore
from .data import StylesData, BlenderMaterialStyleData
diff --git a/src/blenderbim/blenderbim/bim/module/system/data.py b/src/blenderbim/blenderbim/bim/module/system/data.py
index 9a37c1f48d..7e33d293af 100644
--- a/src/blenderbim/blenderbim/bim/module/system/data.py
+++ b/src/blenderbim/blenderbim/bim/module/system/data.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell
import ifcopenshell.util.schema
from ifcopenshell.util.doc import get_entity_doc
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/system/decorator.py b/src/blenderbim/blenderbim/bim/module/system/decorator.py
index ebb848d363..4b1c888ce9 100644
--- a/src/blenderbim/blenderbim/bim/module/system/decorator.py
+++ b/src/blenderbim/blenderbim/bim/module/system/decorator.py
@@ -19,7 +19,7 @@
import bpy
import gpu
import bmesh
-import blenderbim.tool as tool
+from .... import tool
from math import sin, cos, radians
from bpy.types import SpaceView3D
from mathutils import Vector, Matrix
diff --git a/src/blenderbim/blenderbim/bim/module/system/operator.py b/src/blenderbim/blenderbim/bim/module/system/operator.py
index 0f43b2c999..1f3ce57ac7 100644
--- a/src/blenderbim/blenderbim/bim/module/system/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/system/operator.py
@@ -18,7 +18,7 @@
import bpy
import ifcopenshell.api
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.system as core
import blenderbim.bim.handler
import blenderbim.bim.helper
diff --git a/src/blenderbim/blenderbim/bim/module/system/prop.py b/src/blenderbim/blenderbim/bim/module/system/prop.py
index 4438ae9791..33a0e71f83 100644
--- a/src/blenderbim/blenderbim/bim/module/system/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/system/prop.py
@@ -18,7 +18,7 @@
import bpy
from .data import SystemData
-import blenderbim.bim.module.system.decorator as decorator
+from . import decorator
from ...prop import StrProperty, Attribute
from bpy.types import PropertyGroup
from bpy.props import (
diff --git a/src/blenderbim/blenderbim/bim/module/system/ui.py b/src/blenderbim/blenderbim/bim/module/system/ui.py
index 11289f72b3..d5f11d9c28 100644
--- a/src/blenderbim/blenderbim/bim/module/system/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/system/ui.py
@@ -18,7 +18,7 @@
import bpy
import blenderbim.bim.helper
-import blenderbim.tool as tool
+from .... import tool
from ...helper import prop_with_search
from bpy.types import Panel, UIList
from .data import SystemData, ZonesData, ActiveObjectZonesData, ObjectSystemData, PortData
diff --git a/src/blenderbim/blenderbim/bim/module/tester/data.py b/src/blenderbim/blenderbim/bim/module/tester/data.py
index 742b471f89..bc888331bc 100644
--- a/src/blenderbim/blenderbim/bim/module/tester/data.py
+++ b/src/blenderbim/blenderbim/bim/module/tester/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/tester/operator.py b/src/blenderbim/blenderbim/bim/module/tester/operator.py
index 140b9109e7..80e68b5fa6 100644
--- a/src/blenderbim/blenderbim/bim/module/tester/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/tester/operator.py
@@ -25,7 +25,7 @@ import ifctester
import ifctester.ids
import ifctester.reporter
import ifcopenshell
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.handler
from ...operator import MultipleFileSelector
from pathlib import Path
diff --git a/src/blenderbim/blenderbim/bim/module/tester/ui.py b/src/blenderbim/blenderbim/bim/module/tester/ui.py
index a0cf0e7605..8600ce232b 100644
--- a/src/blenderbim/blenderbim/bim/module/tester/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/tester/ui.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with BlenderBIM Add-on. If not, see .
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel, UIList
from .data import TesterData
diff --git a/src/blenderbim/blenderbim/bim/module/type/data.py b/src/blenderbim/blenderbim/bim/module/type/data.py
index 27a9ef5c13..6030f075e3 100644
--- a/src/blenderbim/blenderbim/bim/module/type/data.py
+++ b/src/blenderbim/blenderbim/bim/module/type/data.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell.util.type
import ifcopenshell.util.element
from ifcopenshell.util.doc import get_entity_doc
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/type/operator.py b/src/blenderbim/blenderbim/bim/module/type/operator.py
index ae37e9fdb7..36e07ca07a 100644
--- a/src/blenderbim/blenderbim/bim/module/type/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/type/operator.py
@@ -24,7 +24,7 @@ import ifcopenshell.util.representation
import ifcopenshell.util.type
import ifcopenshell.util.unit
import ifcopenshell.api
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.geometry
import blenderbim.core.type as core
import blenderbim.core.root
diff --git a/src/blenderbim/blenderbim/bim/module/type/prop.py b/src/blenderbim/blenderbim/bim/module/type/prop.py
index 028acf729b..08ae6cbf20 100644
--- a/src/blenderbim/blenderbim/bim/module/type/prop.py
+++ b/src/blenderbim/blenderbim/bim/module/type/prop.py
@@ -21,7 +21,7 @@ import ifcopenshell.util.type
from .data import TypeData
from ...prop import StrProperty, Attribute
from ...ifc import IfcStore
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import PropertyGroup
from bpy.props import (
PointerProperty,
diff --git a/src/blenderbim/blenderbim/bim/module/type/ui.py b/src/blenderbim/blenderbim/bim/module/type/ui.py
index 4025e1b7cb..18bee59380 100644
--- a/src/blenderbim/blenderbim/bim/module/type/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/type/ui.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with BlenderBIM Add-on. If not, see .
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.bim.module.type.prop as type_prop
from bpy.types import Panel
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/unit/data.py b/src/blenderbim/blenderbim/bim/module/unit/data.py
index 1236ab2505..ab384ce9c5 100644
--- a/src/blenderbim/blenderbim/bim/module/unit/data.py
+++ b/src/blenderbim/blenderbim/bim/module/unit/data.py
@@ -21,7 +21,7 @@ import ifcopenshell.util.unit
import ifcopenshell.util.schema
import ifcopenshell.util.attribute
from ifcopenshell.util.doc import get_entity_doc
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/unit/operator.py b/src/blenderbim/blenderbim/bim/module/unit/operator.py
index 7fbba1f39e..9c99751d33 100644
--- a/src/blenderbim/blenderbim/bim/module/unit/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/unit/operator.py
@@ -22,7 +22,7 @@ import ifcopenshell.api
import ifcopenshell.util.unit
import blenderbim.bim.helper
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.unit as core
from ...ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/module/void/data.py b/src/blenderbim/blenderbim/bim/module/void/data.py
index 24b74b8a9a..03ce1a4149 100644
--- a/src/blenderbim/blenderbim/bim/module/void/data.py
+++ b/src/blenderbim/blenderbim/bim/module/void/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/void/operator.py b/src/blenderbim/blenderbim/bim/module/void/operator.py
index ada91d318d..f2e9371cf9 100644
--- a/src/blenderbim/blenderbim/bim/module/void/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/void/operator.py
@@ -20,7 +20,7 @@ import bpy
import ifcopenshell.api
import ifcopenshell.util.element
import ifcopenshell.util.representation
-import blenderbim.tool as tool
+from .... import tool
import blenderbim.core.geometry
import blenderbim.core.root
import blenderbim.bim.handler
diff --git a/src/blenderbim/blenderbim/bim/module/void/ui.py b/src/blenderbim/blenderbim/bim/module/void/ui.py
index 497e150035..29a061dbb5 100644
--- a/src/blenderbim/blenderbim/bim/module/void/ui.py
+++ b/src/blenderbim/blenderbim/bim/module/void/ui.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
from bpy.types import Panel
from .data import BooleansData, VoidsData
diff --git a/src/blenderbim/blenderbim/bim/module/web/data.py b/src/blenderbim/blenderbim/bim/module/web/data.py
index c13920e47a..4d6e6498d8 100644
--- a/src/blenderbim/blenderbim/bim/module/web/data.py
+++ b/src/blenderbim/blenderbim/bim/module/web/data.py
@@ -17,7 +17,7 @@
# along with BlenderBIM Add-on. If not, see .
import bpy
-import blenderbim.tool as tool
+from .... import tool
def refresh():
diff --git a/src/blenderbim/blenderbim/bim/module/web/operator.py b/src/blenderbim/blenderbim/bim/module/web/operator.py
index 8d2e5d0387..b1a2df0c21 100644
--- a/src/blenderbim/blenderbim/bim/module/web/operator.py
+++ b/src/blenderbim/blenderbim/bim/module/web/operator.py
@@ -19,7 +19,7 @@
import os
import bpy
import blenderbim.core.web as core
-import blenderbim.tool as tool
+from .... import tool
class ConnectToWebsocketServer(bpy.types.Operator):
diff --git a/src/blenderbim/blenderbim/bim/operator.py b/src/blenderbim/blenderbim/bim/operator.py
index bb53979bd7..2b1326d210 100644
--- a/src/blenderbim/blenderbim/bim/operator.py
+++ b/src/blenderbim/blenderbim/bim/operator.py
@@ -31,7 +31,7 @@ import tempfile
import webbrowser
import ifcopenshell
import blenderbim.bim.handler
-import blenderbim.tool as tool
+from .. import tool
from . import schema
from ..bim import import_ifc
from .ifc import IfcStore
diff --git a/src/blenderbim/blenderbim/bim/prop.py b/src/blenderbim/blenderbim/bim/prop.py
index 3aecd6614a..f0d589290b 100644
--- a/src/blenderbim/blenderbim/bim/prop.py
+++ b/src/blenderbim/blenderbim/bim/prop.py
@@ -34,7 +34,7 @@ import blenderbim.bim
import blenderbim.bim.schema
import blenderbim.bim.handler
from .ifc import IfcStore
-import blenderbim.tool as tool
+from .. import tool
from collections import defaultdict
from bpy.types import PropertyGroup
from bpy.props import (
diff --git a/src/blenderbim/blenderbim/bim/ui.py b/src/blenderbim/blenderbim/bim/ui.py
index 1e8c36a496..fcf69a46f2 100644
--- a/src/blenderbim/blenderbim/bim/ui.py
+++ b/src/blenderbim/blenderbim/bim/ui.py
@@ -30,7 +30,7 @@ from ifcopenshell.util.doc import (
get_attribute_doc,
)
import blenderbim.bim
-import blenderbim.tool as tool
+from .. import tool
from ifcopenshell.util.file import IfcHeaderExtractor
from .prop import Attribute
from typing import Optional