Page MenuHome

Tool: Extrude, Dissolve and Intersect
ClosedPublic

Authored by Germano Cavalcante (mano-wii) on Mar 24 2020, 1:33 AM.
Tags
None
Tokens
"Burninate" token, awarded by shader."Like" token, awarded by knightknight."Love" token, awarded by Okavango."Love" token, awarded by Leul."Love" token, awarded by mattrossman."Like" token, awarded by CandleComet."Like" token, awarded by campbellbarton.

Details

Summary

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.

Solution:
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

Repository
rB Blender

Event Timeline

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

Campbell Barton (campbellbarton) requested changes to this revision.Mar 24 2020, 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.

source/blender/bmesh/intern/bmesh_opdefines.c
1049 ↗(On Diff #23045)

"90 degree" ?

Could say "whose faces form a flat surface"

source/blender/bmesh/operators/bmo_extrude.c
493–496 ↗(On Diff #23045)

No need to copy normals.

source/blender/editors/include/ED_transform.h
160 ↗(On Diff #23045)

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.Mar 24 2020, 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.
This revision was not accepted when it landed; it landed in state Needs Review.Apr 15 2020, 5:02 PM
This revision was automatically updated to reflect the committed changes.