Page MenuHome

Improve Curve extrude
ClosedPublic

Authored by Germano Cavalcante (mano-wii) on Sun, Mar 1, 9:19 PM.

Details

Summary

The original code has two logics, extrude the end points or duplicate points (making new splines).
Duplicating points should not be part of the extrusion, this is already done with Shift + D for example.

The proposal here is to redo all the logic by extruding contiguous selected segments.
No more duplicate point.

Ref T47169

Diff Detail

Repository
rB Blender

Event Timeline

Yeah, this definitely is a possible solution. However, one thing that seemed a little strange to me is that normally when a vertex is being extruded, the original vertex is not disturbed. But in this solution if there are more than two vertices, them the original vertices between the endpoints of the selection get shifted.
This is because new vertices are generated at only the endpoints of the selection. While this definitely works, I think it is a bit counter-intuitive to the artist. As far as I can tell, extrusion of more than two points in between is generally not in an artist's workflow (there may be exceptions to this, every artist has his/her own quirks).
I guess a decision needs to be taken whether we would only extrude two points or entire segments.

I disagree on this being unintuitive. This is behaving exactly as extruding faces, where extruding selected areas normally just cause meshchanges at the selection-border. And if the selection is big enough to contain faces that don't touch this border they are treated the same as these center vertices here. This is how it should be done to my view.

I disagree on this being unintuitive. This is behaving exactly as extruding faces, where extruding selected areas normally just cause meshchanges at the selection-border. And if the selection is big enough to contain faces that don't touch this border they are treated the same as these center vertices here. This is how it should be done to my view.

Can you please give an example of the big enough selection case?
Also it must be kept in mind that curves and meshes are different and are used differently.....

Can you please give an example of the big enough selection case?

For a grid of faces i am talking of a selection of 3x3 faces. They outer 8 faces isolate the inner one. And extruding them together takes the inner one with them.

Also it must be kept in mind that curves and meshes are different and are used differently.....

Yes sure they are not the same thing, but curves relate to edges as faces to Nurbs.

If we select multiple neighboring splinepoints that are connected we implicitly select the curvesegment, so I think the extrusion should behave like extruding edgechains of a mesh. This proposal is implicitly following this categorization and keeps extrusion similar to that of edges and faces, and not like that of vertices. Splinepoints are by themselves not very intersting they are just controlpoints of the curve.

Extruded faceselections take inner faces with them . And this proposed extrusion takes inner splinepoints with them
Or if you take closed splines as the border of an open mesh then edgeextrusion of the border is exactly the same

Thats why I find this solution rather intuitive.

The gif demoes the mentioned comparisons.

Generally looks good, only one issue I noticed.

Extruding from a single vertex no longer works, it just moves the vertex, that should be a simple fix.

This revision is now accepted and ready to land.Sun, Mar 29, 1:38 PM
  • Fix single vertex extrude
This revision was automatically updated to reflect the committed changes.