Page MenuHome

Expand functionality of Screw Modifier to allow single steps

Authored by Henrik Dick (weasel) on Mar 27 2020, 7:49 PM.


Campbell Barton (campbellbarton)
Group Reviewers

The Screw Modifier had a lower limit for the steps value, which not only was inconsistent between render and viewport steps, but also was capped to 2 in UI and also in the code internally.
I dont know the reasons for that since the code seems to run completly smoothly without that lower limit as well (limit at 1 instead of 2).

I made sure it wouldn't produce duplicate faces by restricting the close algorithm to only be used when steps is at least 3.

The usefulness of this extention can be seen in the following video (which inspired me to look into this code)

Diff Detail

rB Blender

Event Timeline

These changes should also be made to the esit mode operator.

These changes should also be made to the esit mode operator.

But there it kinda isn't needed because a spin with one step is just an extrusion and then a deletion of the original face and the new face, just leaving the extrusion border. That is really easy to accomplish and isn't limiting (I guess at least). We could still do it though I guess...

I think it just makes the code easier to maintain if the logic stays the same for both.

I just looked into the code and found, that the edit mode spin operator is working with bmesh and doesn't have this limitation already. It is completely different from the modifier, because the modifier needs to manipulate the mesh data on a deep level, while the operator just uses the high level operations extrude and rotate to achieve its results.

This revision is now accepted and ready to land.Mar 29 2020, 11:28 AM