[Bf-extensions-cvs] [5535f596] master: Bsurfaces: Adding warnings.

Spivak Vladimir cwolf3d noreply at git.blender.org
Mon May 6 02:05:13 CEST 2019


Commit: 5535f596ba3cd1ac6e76ad09f15a0013b658887a
Author: Spivak Vladimir (cwolf3d)
Date:   Mon May 6 03:04:49 2019 +0300
Branches: master
https://developer.blender.org/rBA5535f596ba3cd1ac6e76ad09f15a0013b658887a

Bsurfaces: Adding warnings.

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

M	mesh_bsurfaces.py

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

diff --git a/mesh_bsurfaces.py b/mesh_bsurfaces.py
index e1548771..4d31edac 100644
--- a/mesh_bsurfaces.py
+++ b/mesh_bsurfaces.py
@@ -20,7 +20,7 @@
 bl_info = {
     "name": "Bsurfaces GPL Edition",
     "author": "Eclectiel, Spivak Vladimir(cwolf3d)",
-    "version": (1, 5, 1),
+    "version": (1, 5, 2),
     "blender": (2, 80, 0),
     "location": "View3D > EditMode > ToolShelf",
     "description": "Modeling and retopology tool",
@@ -74,8 +74,8 @@ class VIEW3D_PT_tools_SURFSK_mesh(Panel):
         row = layout.row()
         row.separator()
         col.operator("gpencil.surfsk_init", text="Initialize")
-        col.prop(scn, "SURFSK_mesh_name")
-        col.prop(scn, "SURFSK_gpencil_name")
+        col.prop(scn, "SURFSK_object_with_retopology")
+        col.prop(scn, "SURFSK_object_with_strokes")
         col.separator()
         col.operator("gpencil.surfsk_add_surface", text="Add Surface")
         col.operator("gpencil.surfsk_add_strokes", text="Add Strokes")
@@ -115,7 +115,7 @@ def get_strokes_type():
 
     # Check if they are grease pencil
     try:
-       gpencil = bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_gpencil_name]
+       gpencil = bpy.context.scene.bsurfaces.SURFSK_object_with_strokes
        layer = gpencil.data.layers[0]
        frame = layer.frames[0]
         
@@ -128,7 +128,7 @@ def get_strokes_type():
         
     # Check if they are mesh
     try:
-       main_object = bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_mesh_name]
+       main_object = bpy.context.scene.bsurfaces.SURFSK_object_with_retopology
     except:
         pass
 
@@ -3057,8 +3057,8 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
 
         bsurfaces_props = bpy.context.scene.bsurfaces
         
-        bpy.context.scene.objects[bsurfaces_props.SURFSK_gpencil_name].select_set(True)
-        self.main_object = bpy.context.scene.objects[bsurfaces_props.SURFSK_mesh_name]
+        bsurfaces_props.SURFSK_object_with_strokes.select_set(True)
+        self.main_object = bsurfaces_props.SURFSK_object_with_retopology
         self.main_object.select_set(True)
         bpy.context.view_layer.objects.active = self.main_object
         
@@ -3130,7 +3130,7 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
 
             # Delete grease pencil strokes
             if self.strokes_type == "GP_STROKES" and not self.stopping_errors and not self.keep_strokes:
-                bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_gpencil_name].data.layers[0].clear()
+                bpy.context.scene.bsurfaces.SURFSK_object_with_strokes.data.layers[0].clear()
                 
             bpy.ops.object.editmode_toggle('INVOKE_REGION_WIN')
 
@@ -3148,8 +3148,13 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
         self.loops_on_strokes = bsurfaces_props.SURFSK_loops_on_strokes
         self.keep_strokes = bsurfaces_props.SURFSK_keep_strokes
         
-        bpy.context.scene.objects[bsurfaces_props.SURFSK_gpencil_name].select_set(True)
-        self.main_object = bpy.context.scene.objects[bsurfaces_props.SURFSK_mesh_name]
+        try:
+            bsurfaces_props.SURFSK_object_with_strokes.select_set(True)
+        except:
+            self.report({'WARNING'}, "Specify the name of the object with retopology")
+            return{"CANCELLED"}
+            
+        self.main_object = bsurfaces_props.SURFSK_object_with_retopology
         self.main_object.select_set(True)
         bpy.context.view_layer.objects.active = self.main_object
 
@@ -3178,7 +3183,7 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
         if self.strokes_type == "GP_STROKES" or self.strokes_type == "EXTERNAL_CURVE":
             if self.strokes_type == "GP_STROKES":
                 # Convert grease pencil strokes to curve
-                gp = bpy.context.scene.objects[bsurfaces_props.SURFSK_gpencil_name]
+                gp = bsurfaces_props.SURFSK_object_with_strokes
                 #bpy.ops.gpencil.convert(type='CURVE', use_link_strokes=False)
                 self.original_curve = conver_gpencil_to_curve(context, gp)
                 # XXX gpencil.convert now keep org object as active/selected, *not* newly created curve!
@@ -3353,7 +3358,7 @@ class GPENCIL_OT_SURFSK_add_surface(Operator):
 
             # Delete grease pencil strokes
             if self.strokes_type == "GP_STROKES" and not self.stopping_errors and not self.keep_strokes:
-                bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_gpencil_name].data.layers[0].clear()
+                bpy.context.scene.bsurfaces.SURFSK_object_with_strokes.data.layers[0].clear()
             
             bpy.ops.object.select_all('INVOKE_REGION_WIN', action='DESELECT')
             self.main_object.select_set(True)
@@ -3421,16 +3426,18 @@ class GPENCIL_OT_SURFSK_init(Operator):
         bpy.ops.object.select_all('INVOKE_REGION_WIN', action='DESELECT')
         mesh = bpy.data.meshes.new('BSurfaceMesh')
         mesh_object = object_utils.object_data_add(context, mesh, operator=None)
+        mesh_object.select_set(True)
+        bpy.context.view_layer.objects.active = mesh_object
+        bpy.ops.object.modifier_add(type='SHRINKWRAP')
         
         bpy.ops.object.gpencil_add(radius=1.0, view_align=False, location=(0.0, 0.0, 0.0), rotation=(0.0, 0.0, 0.0), type='EMPTY')
         gpencil_object = bpy.context.scene.objects[bpy.context.scene.objects[-1].name]
         gpencil_object.select_set(True)
-        mesh_object.select_set(True)
         bpy.context.view_layer.objects.active = gpencil_object
         bpy.ops.object.mode_set(mode='PAINT_GPENCIL')
         
-        bpy.context.scene.bsurfaces.SURFSK_mesh_name = mesh_object.name
-        bpy.context.scene.bsurfaces.SURFSK_gpencil_name = gpencil_object.name
+        bpy.context.scene.bsurfaces.SURFSK_object_with_retopology = mesh_object
+        bpy.context.scene.bsurfaces.SURFSK_object_with_strokes = gpencil_object
 
         return{"FINISHED"}
 
@@ -3458,14 +3465,19 @@ class GPENCIL_OT_SURFSK_add_strokes(Operator):
 
             bpy.ops.object.editmode_toggle('INVOKE_REGION_WIN')
         else:
-            bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_gpencil_name].select_set(True)
-            bpy.context.view_layer.objects.active = bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_gpencil_name]
+            bpy.context.scene.bsurfaces.SURFSK_object_with_strokes.select_set(True)
+            bpy.context.view_layer.objects.active = bpy.context.scene.bsurfaces.SURFSK_object_with_strokes
             bpy.ops.object.mode_set(mode='PAINT_GPENCIL')
 
             return{"FINISHED"}
 
     def invoke(self, context, event):
-        self.main_object = bpy.context.scene.objects[context.scene.bsurfaces.SURFSK_mesh_name]
+        try:
+            bpy.context.scene.bsurfaces.SURFSK_object_with_strokes.select_set(True)
+        except:
+            self.report({'WARNING'}, "Specify the name of the object with strokes")
+            return{"CANCELLED"}
+        
         self.execute(context)
 
         return {"FINISHED"}
@@ -3498,7 +3510,7 @@ class GPENCIL_OT_SURFSK_edit_strokes(Operator):
             # Convert grease pencil strokes to curve
             bpy.ops.object.editmode_toggle('INVOKE_REGION_WIN')
             #bpy.ops.gpencil.convert('INVOKE_REGION_WIN', type='CURVE', use_link_strokes=False)
-            gp = bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_gpencil_name]
+            gp = bpy.context.scene.bsurfaces.SURFSK_object_with_strokes
             conver_gpencil_to_curve(context, gp)
             for ob in bpy.context.selected_objects:
                     if ob != bpy.context.view_layer.objects.active and ob.name.startswith("GP_Layer"):
@@ -3507,7 +3519,7 @@ class GPENCIL_OT_SURFSK_edit_strokes(Operator):
             ob_gp_strokes = bpy.context.object
 
             # Delete grease pencil strokes
-            bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_gpencil_name].data.layers[0].clear()
+            bpy.context.scene.bsurfaces.SURFSK_object_with_strokes.data.layers[0].clear()
 
             # Clean up curves
             bpy.ops.object.select_all('INVOKE_REGION_WIN', action='DESELECT')
@@ -3537,7 +3549,12 @@ class GPENCIL_OT_SURFSK_edit_strokes(Operator):
             return{"CANCELLED"}
 
     def invoke(self, context, event):
-        self.main_object = bpy.context.scene.objects[context.scene.bsurfaces.SURFSK_mesh_name]
+        try:
+           bpy.context.scene.bsurfaces.SURFSK_object_with_strokes.select_set(True)
+        except:
+            self.report({'WARNING'}, "Specify the name of the object with strokes")
+            return{"CANCELLED"}
+
         self.execute(context)
 
         return {"FINISHED"}
@@ -3741,7 +3758,7 @@ class CURVE_OT_SURFSK_reorder_splines(Operator):
         bpy.ops.object.editmode_toggle('INVOKE_REGION_WIN')
         bpy.ops.curve.select_all('INVOKE_REGION_WIN', action='DESELECT')
 
-        bpy.context.scene.objects[bpy.context.scene.bsurfaces.SURFSK_gpencil_name].data.layers[0].clear()
+        bpy.context.scene.bsurfaces.SURFSK_object_with_strokes.data.layers[0].clear()
 
         return {"FINISHED"}
 
@@ -4008,11 +4025,14 @@ class BsurfacesProps(PropertyGroup):
                 min=1,
                 max=100
                 )
-    SURFSK_mesh_name: StringProperty(name = "Mesh name",
-                    description = "Mesh name")
-    SURFSK_gpencil_name: StringProperty(name = "Gpencil name",
-                    description = "Gpencil name")
-
+    SURFSK_object_with_retopology: PointerProperty(
+                name="Retopology",
+                type=bpy.types.Object
+                )
+    SURFSK_object_with_strokes: PointerProperty(
+                name="Strokes",
+                type=bpy.types.Object
+                )
 
 classes = (
     GPENCIL_OT_SURFSK_add_surface,
@@ -4025,7 +4045,6 @@ classes = (
     GPENCIL_OT_SURFSK_init
     )
 
-
 def register():
     for cls in classes:
         bpy.utils.register_class(cls)
@@ -4033,13 +4052,11 @@ def register():
     bpy.types.Scene.bsurfaces = PointerProperty(type=BsurfacesProps)
     update_panel(None, bpy.context)
 
-
 def unregister():
     for

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list