[Bf-extensions-cvs] [2d8edd6d] master: Fix T76049: Errors after adding a Gear or Worm (extra objects)

Vladimir Spivakcwolf3d noreply at git.blender.org
Sun May 3 18:56:32 CEST 2020


Commit: 2d8edd6dedc8dae2f5ac9afa2cbb867373c476ed
Author: Vladimir Spivak(cwolf3d)
Date:   Sun May 3 19:55:52 2020 +0300
Branches: master
https://developer.blender.org/rBA2d8edd6dedc8dae2f5ac9afa2cbb867373c476ed

Fix T76049: Errors after adding a Gear or Worm (extra objects)

===================================================================

M	add_mesh_extra_objects/Wallfactory.py
M	add_mesh_extra_objects/__init__.py
M	add_mesh_extra_objects/add_mesh_beam_builder.py
M	add_mesh_extra_objects/add_mesh_gears.py
M	add_mesh_extra_objects/add_mesh_gemstones.py
M	add_mesh_extra_objects/add_mesh_honeycomb.py
M	add_mesh_extra_objects/add_mesh_pipe_joint.py
M	add_mesh_extra_objects/add_mesh_pyramid.py
M	add_mesh_extra_objects/add_mesh_rocks/rockgen.py
M	add_mesh_extra_objects/add_mesh_round_brilliant.py
M	add_mesh_extra_objects/add_mesh_round_cube.py
M	add_mesh_extra_objects/add_mesh_star.py
M	add_mesh_extra_objects/add_mesh_supertoroid.py
M	add_mesh_extra_objects/add_mesh_teapot.py
M	add_mesh_extra_objects/add_mesh_torusknot.py
M	add_mesh_extra_objects/add_mesh_twisted_torus.py

===================================================================

diff --git a/add_mesh_extra_objects/Wallfactory.py b/add_mesh_extra_objects/Wallfactory.py
index a4e87574..ede91fc3 100644
--- a/add_mesh_extra_objects/Wallfactory.py
+++ b/add_mesh_extra_objects/Wallfactory.py
@@ -665,6 +665,10 @@ class add_mesh_wallb(Operator, object_utils.AddObjectHelper):
         if not self.ConstructTog:
             return {'FINISHED'}
 
+        # turn off 'Enter Edit Mode'
+        use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode
+        bpy.context.preferences.edit.use_enter_edit_mode = False
+
         # enter the settings for the wall dimensions (area)
         # start can't be zero - min/max don't matter [if max less than end] but zero don't workie.
         # start can't exceed end.
@@ -917,6 +921,12 @@ class add_mesh_wallb(Operator, object_utils.AddObjectHelper):
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
 
+        if use_enter_edit_mode:
+            bpy.ops.object.mode_set(mode = 'EDIT')
+
+        # restore pre operator state
+        bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode
+
         return {'FINISHED'}
 
 def WallParameters():
diff --git a/add_mesh_extra_objects/__init__.py b/add_mesh_extra_objects/__init__.py
index 4f00c450..14bde07d 100644
--- a/add_mesh_extra_objects/__init__.py
+++ b/add_mesh_extra_objects/__init__.py
@@ -249,6 +249,9 @@ def Extras_contex_menu(self, context):
     obj = context.object
     layout = self.layout
 
+    if obj == None:
+        return
+
     if 'Gear' in obj.data.keys():
         props = layout.operator("mesh.primitive_gear", text="Change Gear")
         props.change = True
diff --git a/add_mesh_extra_objects/add_mesh_beam_builder.py b/add_mesh_extra_objects/add_mesh_beam_builder.py
index ceda4ffc..38944c58 100644
--- a/add_mesh_extra_objects/add_mesh_beam_builder.py
+++ b/add_mesh_extra_objects/add_mesh_beam_builder.py
@@ -730,11 +730,6 @@ class addBeam(Operator, object_utils.AddObjectHelper):
             default=0,
             description="Angle beam edges"
             )
-    Cursor: BoolProperty(
-            name="Use 3D Cursor",
-            default=False,
-            description="Draw the beam where the 3D Cursor is"
-            )
 
     def draw(self, context):
         layout = self.layout
@@ -742,7 +737,6 @@ class addBeam(Operator, object_utils.AddObjectHelper):
         box = layout.box()
         split = box.split(factor=0.85, align=True)
         split.prop(self, "Type", text="")
-        split.prop(self, "Cursor", text="")
 
         box.prop(self, "beamZ")
         box.prop(self, "beamX")
@@ -760,6 +754,10 @@ class addBeam(Operator, object_utils.AddObjectHelper):
             box.prop(self, 'rotation', expand=True)
 
     def execute(self, context):
+        # turn off 'Enter Edit Mode'
+        use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode
+        bpy.context.preferences.edit.use_enter_edit_mode = False
+
         if bpy.context.mode == "OBJECT":
 
             if context.selected_objects != [] and context.active_object and \
@@ -781,21 +779,11 @@ class addBeam(Operator, object_utils.AddObjectHelper):
                 bpy.ops.transform.rotate(value=1.570796, constraint_axis=[False, True, False])
                 bpy.ops.object.transform_apply(location=False, rotation=True, scale=False)
 
-            if self.Cursor:
-                if beamObj.select_get() is True:
-                    # we also have to check if we're considered to be in 3D View (view3d)
-                    if bpy.ops.view3d.snap_selected_to_cursor.poll():
-                        bpy.ops.view3d.snap_selected_to_cursor()
-                    else:
-                        self.Cursor = False
-
             obj.data["Beam"] = True
             obj.data["change"] = False
             for prm in BeamParameters():
                 obj.data[prm] = getattr(self, prm)
 
-            return {'FINISHED'}
-
         if bpy.context.mode == "EDIT_MESH":
             active_object = context.active_object
             name_active_object = active_object.name
@@ -808,6 +796,12 @@ class addBeam(Operator, object_utils.AddObjectHelper):
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
 
+        if use_enter_edit_mode:
+            bpy.ops.object.mode_set(mode = 'EDIT')
+
+        # restore pre operator state
+        bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode
+
         return {'FINISHED'}
 
 def BeamParameters():
@@ -818,6 +812,5 @@ def BeamParameters():
             "beamY",
             "beamW",
             "edgeA",
-            "Cursor",
             ]
     return BeamParameters
diff --git a/add_mesh_extra_objects/add_mesh_gears.py b/add_mesh_extra_objects/add_mesh_gears.py
index 44128330..9170952a 100644
--- a/add_mesh_extra_objects/add_mesh_gears.py
+++ b/add_mesh_extra_objects/add_mesh_gears.py
@@ -683,6 +683,9 @@ class AddGear(Operator, object_utils.AddObjectHelper):
         return context.scene is not None
 
     def execute(self, context):
+        # turn off 'Enter Edit Mode'
+        use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode
+        bpy.context.preferences.edit.use_enter_edit_mode = False
 
         if bpy.context.mode == "OBJECT":
             if context.selected_objects != [] and context.active_object and \
@@ -738,6 +741,12 @@ class AddGear(Operator, object_utils.AddObjectHelper):
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
 
+        if use_enter_edit_mode:
+            bpy.ops.object.mode_set(mode = 'EDIT')
+
+        # restore pre operator state
+        bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode
+
         return {'FINISHED'}
 
     def invoke(self, context, event):
@@ -894,6 +903,9 @@ class AddWormGear(Operator, object_utils.AddObjectHelper):
             box.prop(self, 'rotation', expand=True)
 
     def execute(self, context):
+        # turn off 'Enter Edit Mode'
+        use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode
+        bpy.context.preferences.edit.use_enter_edit_mode = False
 
         if bpy.context.mode == "OBJECT":
             if context.selected_objects != [] and context.active_object and \
@@ -950,6 +962,12 @@ class AddWormGear(Operator, object_utils.AddObjectHelper):
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
 
+        if use_enter_edit_mode:
+            bpy.ops.object.mode_set(mode = 'EDIT')
+
+        # restore pre operator state
+        bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode
+
         return {'FINISHED'}
 
 def WormGearParameters():
diff --git a/add_mesh_extra_objects/add_mesh_gemstones.py b/add_mesh_extra_objects/add_mesh_gemstones.py
index 5829794b..c47e4131 100644
--- a/add_mesh_extra_objects/add_mesh_gemstones.py
+++ b/add_mesh_extra_objects/add_mesh_gemstones.py
@@ -278,6 +278,9 @@ class AddDiamond(Operator, object_utils.AddObjectHelper):
             box.prop(self, 'rotation', expand=True)
 
     def execute(self, context):
+        # turn off 'Enter Edit Mode'
+        use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode
+        bpy.context.preferences.edit.use_enter_edit_mode = False
 
         if bpy.context.mode == "OBJECT":
             if context.selected_objects != [] and context.active_object and \
@@ -333,6 +336,12 @@ class AddDiamond(Operator, object_utils.AddObjectHelper):
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
 
+        if use_enter_edit_mode:
+            bpy.ops.object.mode_set(mode = 'EDIT')
+
+        # restore pre operator state
+        bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode
+
         return {'FINISHED'}
 
 def DiamondParameters():
@@ -417,6 +426,9 @@ class AddGem(Operator, object_utils.AddObjectHelper):
             box.prop(self, 'rotation', expand=True)
 
     def execute(self, context):
+        # turn off 'Enter Edit Mode'
+        use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode
+        bpy.context.preferences.edit.use_enter_edit_mode = False
 
         if bpy.context.mode == "OBJECT":
             if context.selected_objects != [] and context.active_object and \
@@ -472,6 +484,12 @@ class AddGem(Operator, object_utils.AddObjectHelper):
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
 
+        if use_enter_edit_mode:
+            bpy.ops.object.mode_set(mode = 'EDIT')
+
+        # restore pre operator state
+        bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode
+
         return {'FINISHED'}
 
 def GemParameters():
diff --git a/add_mesh_extra_objects/add_mesh_honeycomb.py b/add_mesh_extra_objects/add_mesh_honeycomb.py
index ef7d34db..73dea1d6 100644
--- a/add_mesh_extra_objects/add_mesh_honeycomb.py
+++ b/add_mesh_extra_objects/add_mesh_honeycomb.py
@@ -272,6 +272,10 @@ class add_mesh_honeycomb(bpy.types.Operator, object_utils.AddObjectHelper):
         return context.scene is not None
 
     def execute(self, context):
+        # turn off 'Enter Edit Mode'
+        use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode
+        bpy.context.preferences.edit.use_enter_edit_mode = False
+
         if bpy.context.mode == "OBJECT":
             if context.selected_objects != [] and context.active_object and \
             ('HoneyComb' in context.active_object.data.keys()) and (self.change == True):
@@ -314,6 +318,12 @@ class add_mesh_honeycomb(bpy.types.Operator, object_utils.AddObjectHelper):
             context.active_object.name = name_active_object
             bpy.ops.object.mode_set(mode='EDIT')
 
+        if use_enter_edit_mode:
+            bpy.ops.object.mode_set(mode = 'EDIT')
+
+        # restore pre operator state
+        bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode
+
         return {'FINISHED'}
 
 def HoneyCombParameters():
diff --git a/add_mesh_extra_objects/add_m

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list