[Bf-blender-cvs] [851baa40a19] master: Operator: Add 'dissolve_and_intersect' option for 'Extrude and Move on Normals'
Germano Cavalcante
noreply at git.blender.org
Wed Apr 15 21:03:26 CEST 2020
Commit: 851baa40a19df6dd7989d933da6b96090b29ec17
Author: Germano Cavalcante
Date: Wed Apr 15 16:02:16 2020 -0300
Branches: master
https://developer.blender.org/rB851baa40a19df6dd7989d933da6b96090b29ec17
Operator: Add 'dissolve_and_intersect' option for 'Extrude and Move on Normals'
This allows easy choice of operators when editing keymaps
===================================================================
M release/scripts/startup/bl_operators/view3d.py
===================================================================
diff --git a/release/scripts/startup/bl_operators/view3d.py b/release/scripts/startup/bl_operators/view3d.py
index fcabee94a89..4a6791f1627 100644
--- a/release/scripts/startup/bl_operators/view3d.py
+++ b/release/scripts/startup/bl_operators/view3d.py
@@ -72,13 +72,19 @@ class VIEW3D_OT_edit_mesh_extrude_move(Operator):
bl_label = "Extrude and Move on Normals"
bl_idname = "view3d.edit_mesh_extrude_move_normal"
+ dissolve_and_intersect: BoolProperty(
+ name="dissolve_and_intersect",
+ default=False,
+ description="Dissolves adjacent faces and intersects new geometry"
+ )
+
@classmethod
def poll(cls, context):
obj = context.active_object
return (obj is not None and obj.mode == 'EDIT')
@staticmethod
- def extrude_region(context, use_vert_normals):
+ def extrude_region(context, use_vert_normals, dissolve_and_intersect):
mesh = context.object.data
totface = mesh.total_face_sel
@@ -91,6 +97,17 @@ class VIEW3D_OT_edit_mesh_extrude_move(Operator):
'INVOKE_REGION_WIN',
TRANSFORM_OT_shrink_fatten={},
)
+ elif dissolve_and_intersect:
+ bpy.ops.mesh.extrude_region_dissolve_move_intersect(
+ 'INVOKE_REGION_WIN',
+ MESH_OT_extrude_region={
+ "use_dissolve_ortho_edges": True,
+ },
+ TRANSFORM_OT_translate={
+ "orient_type": 'NORMAL',
+ "constraint_axis": (False, False, True),
+ },
+ )
else:
bpy.ops.mesh.extrude_region_move(
'INVOKE_REGION_WIN',
@@ -119,7 +136,7 @@ class VIEW3D_OT_edit_mesh_extrude_move(Operator):
return {'FINISHED'}
def execute(self, context):
- return VIEW3D_OT_edit_mesh_extrude_move.extrude_region(context, False)
+ return VIEW3D_OT_edit_mesh_extrude_move.extrude_region(context, False, self.dissolve_and_intersect)
def invoke(self, context, _event):
return self.execute(context)
More information about the Bf-blender-cvs
mailing list