Page MenuHome

Improve curve extrude to extrude consecutive vertices
Needs ReviewPublic

Authored by Deep Majumder (dmcoder) on Mar 1 2020, 4:16 PM.

Details

Summary

The current extrude operation for curves merely duplicates the points and creates a new curve within the same object. The patch allows an artist to extrude two consecutive points on a curve (a single-segment) in a way that falls in line with the way the extrude tool works for meshes.
This is an example of how it works:

Diff Detail

Repository
rB Blender

Event Timeline

Deep Majumder (dmcoder) created this object with edit policy "No One".

I tested the code.
If we are going to improve this operator, I don't see why to continue with the behavior of duplicating points.
This is already done with Shift + D for example.
This solution also limits to only 2 selected points. But I don't see why it shouldn't work with more.

In my opinion this patch makes the behavior of the operator even more unpredictable.

I tested the code.
If we are going to improve this operator, I don't see why to continue with the behavior of duplicating points.
This is already done with Shift + D for example.
This solution also limits to only 2 selected points. But I don't see why it shouldn't work with more.
In my opinion this patch makes the behavior of the operator even more unpredictable.

As far as I can tell, for many cases the extrude operator for curves doesn't even make sense, which would explain the default duplicate behavior. In fact, as an artist, I fell only for end points or two consecutive points do we have a natural way for the extrude operator to work.
For an instance consider the following, a Bezier curve with five control points:


(Please forgive my rather rubbish drawing)
I cannot see any natural way in which we can extrude these three points. How does one join the new three points with the previous curve. Interleaving them will be very unnatural. We can make a new curve from them but is not really extruding.
As a matter of fact extrusion for one-dimensional objects (curves for an instance have only a u direction), is really defined only at the end points.
One way out, though, is to out-rule extrusion of curves except at end points or when two consecutive points are selected.......

To understand the limitations, I decided to try it too -> D6982
Re extrusion of three consecutive points - first and last points are duplicated but remain on the same spline.