[Bf-extensions-cvs] [2f4c557d] master: Fix T72654: Bolt Factory: Missing Data after Change Bolt.

Spivak Vladimir cwolf3d noreply at git.blender.org
Mon Dec 23 22:55:20 CET 2019


Commit: 2f4c557df001572041f90d36931abbd1fead8b4a
Author: Spivak Vladimir (cwolf3d)
Date:   Mon Dec 23 23:53:56 2019 +0200
Branches: master
https://developer.blender.org/rBA2f4c557df001572041f90d36931abbd1fead8b4a

Fix T72654: Bolt Factory: Missing Data after Change Bolt.

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

M	add_mesh_BoltFactory/Boltfactory.py

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

diff --git a/add_mesh_BoltFactory/Boltfactory.py b/add_mesh_BoltFactory/Boltfactory.py
index d70ee870..5009549e 100644
--- a/add_mesh_BoltFactory/Boltfactory.py
+++ b/add_mesh_BoltFactory/Boltfactory.py
@@ -342,26 +342,23 @@ class add_mesh_bolt(Operator, AddObjectHelper):
     def execute(self, context):
     
         if bpy.context.mode == "OBJECT":
-            if self.change == True and self.change != None:
+            if context.selected_objects != [] and context.active_object and \
+            ('Bolt' in context.active_object.data.keys()) and (self.change == True):
                 obj = context.active_object
-                if 'Bolt' in obj.data.keys():
-                    oldmesh = obj.data
-                    oldmeshname = obj.data.name
-                    mesh = createMesh.Create_New_Mesh(self, context)
-                    obj.data = mesh
-                    try:
-                        bpy.ops.object.vertex_group_remove(all=True)
-                    except:
-                        pass
+                oldmesh = obj.data
+                oldmeshname = obj.data.name
+                mesh = createMesh.Create_New_Mesh(self, context)
+                obj.data = mesh
+                try:
+                    bpy.ops.object.vertex_group_remove(all=True)
+                except:
+                    pass
+                
+                for material in oldmesh.materials:
+                    obj.data.materials.append(material)
                     
-                    for material in oldmesh.materials:
-                        obj.data.materials.append(material)
-                        
-                    bpy.data.meshes.remove(oldmesh)
-                    obj.data.name = oldmeshname
-                else:
-                    mesh = createMesh.Create_New_Mesh(self, context)
-                    obj = object_utils.object_data_add(context, mesh, operator=None)
+                bpy.data.meshes.remove(oldmesh)
+                obj.data.name = oldmeshname
             else:
                 mesh = createMesh.Create_New_Mesh(self, context)
                 obj = object_utils.object_data_add(context, mesh, operator=None)
@@ -408,10 +405,8 @@ def Bolt_contex_menu(self, context):
 def menu_func_bolt(self, context):
     layout = self.layout
     layout.separator()
-    self.layout.operator(
-        add_mesh_bolt.bl_idname,
-        text="Bolt",
-        icon="MOD_SCREW")
+    oper = self.layout.operator(add_mesh_bolt.bl_idname, text="Bolt", icon="MOD_SCREW")
+    oper.change = False
 
 classes = (
     add_mesh_bolt,



More information about the Bf-extensions-cvs mailing list