Page MenuHome

Tool: Extrude, Dissolve and Intersect
Needs ReviewPublic

Authored by Germano Cavalcante (mano-wii) on Tue, Mar 24, 1:33 AM.
"Love" token, awarded by Leul."Love" token, awarded by mattrossman."Like" token, awarded by CandleComet."Like" token, awarded by campbellbarton.



This is an alternative solution for the much requested D5336: Destructive Extrude Operator.
The disadvantage of this solution is that it does not destroy coplanar geometry.
The advantages:

  • Uses the features of the translate operator (Snap, Auto Merge, Orientation).
  • The intersection is not limited to nearby geometry.

An option called "use_dissolve_ortho_edges" has been added to the Extrude operator.
After insecting faces, this option dissolves the edges whose faces make an angle of 90 degrees.
This allows for a clean and inward extrude, but does not resolve the intersection of edges.

For the intersection of the edges, the option "use_automerge_and_split" was added to the Translate operator.
This option forces the existing AutoMerge & Split Edges feature.

With these new options, it was enough to make a macro and the new Tool.

Diff Detail

rB Blender
arcpatch-D7222 (branched from master)
Build Status
Buildable 7367
Build 7367: arc lint + arc unit

Event Timeline

A little video/gif showing this tool in action would be nice.

Campbell Barton (campbellbarton) requested changes to this revision.Tue, Mar 24, 6:53 AM

General works well, although I was able to cause an assert when testing:

bmesh_query.c:1973, BM_edge_exists(), at 'v_a->head.htype == BM_VERT && v_b->head.htype == BM_VERT'

Click and drag to extrude on this file.

Otherwise this patch looks good to me.


"90 degree" ?

Could say "whose faces form a flat surface"


No need to copy normals.


Realize none of the other options are documented, even so, a short description of what this does would be nice.

This revision now requires changes to proceed.Tue, Mar 24, 6:53 AM
Germano Cavalcante (mano-wii) marked 3 inline comments as done.
  • Cleanup and Improve descriptions
  • Calculate an average normal (instead of using the individual normal for each face) This brings more predictable results with multiple selection.