diff options
Diffstat (limited to 'archipack')
-rw-r--r-- | archipack/archipack_manipulator.py | 9 | ||||
-rw-r--r-- | archipack/archipack_snap.py | 6 | ||||
-rw-r--r-- | archipack/archipack_wall2.py | 2 |
3 files changed, 12 insertions, 5 deletions
diff --git a/archipack/archipack_manipulator.py b/archipack/archipack_manipulator.py index fb454f69..f1d91cad 100644 --- a/archipack/archipack_manipulator.py +++ b/archipack/archipack_manipulator.py @@ -112,6 +112,12 @@ class ArchipackActiveManip: # reference to object manipulable instance self.manipulable = None + def is_snapping(self, ctx): + """ + Check if snap is active + """ + return ctx.active_object and ctx.active_object.name.startswith("Archipack_") + @property def dirty(self): """ @@ -122,7 +128,8 @@ class ArchipackActiveManip: return ( self.manipulable is None or o is None or - not o.select_get() + # The object is not selected and snap is not active + not (self.is_snapping(bpy.context) or o.select_get()) ) def exit(self): diff --git a/archipack/archipack_snap.py b/archipack/archipack_snap.py index 346b64dd..9d50add7 100644 --- a/archipack/archipack_snap.py +++ b/archipack/archipack_snap.py @@ -228,13 +228,13 @@ class ArchipackSnapBase(): """ helper = bpy.data.objects.get('Archipack_snap_helper') if helper is not None: - print("helper found") + # print("helper found") if context.scene.objects.get('Archipack_snap_helper') is None: - print("link helper") + # print("link helper") # self.link_object_to_scene(context, helper) context.scene.collection.objects.link(helper) else: - print("create helper") + # print("create helper") m = bpy.data.meshes.new("Archipack_snap_helper") m.vertices.add(count=1) helper = bpy.data.objects.new("Archipack_snap_helper", m) diff --git a/archipack/archipack_wall2.py b/archipack/archipack_wall2.py index 53375992..4469bc9a 100644 --- a/archipack/archipack_wall2.py +++ b/archipack/archipack_wall2.py @@ -2257,7 +2257,7 @@ class ARCHIPACK_OT_wall2_draw(ArchipackDrawTool, Operator): d.t_part = self.parent if bpy.ops.archipack.manipulate.poll(): - bpy.ops.archipack.manipulate('INVOKE_DEFAULT') + bpy.ops.archipack.manipulate('INVOKE_DEFAULT', object_name=o.name) return {'FINISHED'} |