diff options
author | Liam Scaife <Voltist> | 2020-07-15 08:19:21 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-07-15 08:20:34 +0300 |
commit | 920b138f83c4b740480c821b640351d41e70ec12 (patch) | |
tree | ad712a707fc97b1ca658e40010148e1eb58b677d /release/scripts/startup/bl_operators | |
parent | e062def3b4755a29340c6257aeb6d9ba772ce640 (diff) |
UI: Add manifold extrude to extrude menu
Diffstat (limited to 'release/scripts/startup/bl_operators')
-rw-r--r-- | release/scripts/startup/bl_operators/view3d.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_operators/view3d.py b/release/scripts/startup/bl_operators/view3d.py index a8e04eb2f24..02bfebbdc0c 100644 --- a/release/scripts/startup/bl_operators/view3d.py +++ b/release/scripts/startup/bl_operators/view3d.py @@ -159,6 +159,33 @@ class VIEW3D_OT_edit_mesh_extrude_shrink_fatten(Operator): return self.execute(context) +class VIEW3D_OT_edit_mesh_extrude_manifold_normal(Operator): + """Extrude manifold region along normals""" + bl_label = "Extrude Manifold Along Normals" + bl_idname = "view3d.edit_mesh_extrude_manifold_normal" + + @classmethod + def poll(cls, context): + obj = context.active_object + return (obj is not None and obj.mode == 'EDIT') + + def execute(self, context): + bpy.ops.mesh.extrude_manifold( + 'INVOKE_REGION_WIN', + MESH_OT_extrude_region={ + "use_dissolve_ortho_edges": True, + }, + TRANSFORM_OT_translate={ + "orient_type": 'NORMAL', + "constraint_axis": (False, False, True), + }, + ) + return {'FINISHED'} + + def invoke(self, context, _event): + return self.execute(context) + + class VIEW3D_OT_transform_gizmo_set(Operator): """Set the current transform gizmo""" bl_label = "Transform Gizmo Set" @@ -208,5 +235,6 @@ classes = ( VIEW3D_OT_edit_mesh_extrude_individual_move, VIEW3D_OT_edit_mesh_extrude_move, VIEW3D_OT_edit_mesh_extrude_shrink_fatten, + VIEW3D_OT_edit_mesh_extrude_manifold_normal, VIEW3D_OT_transform_gizmo_set, ) |