Inching closer to perfection.
This thing is an update to the revoloids library.
This time around, I've gotten the normals calculated correctly, so that a 'shell_extrude' can be performed. So, now there are two methods in the revoloids.scad file: linear_extrude_revoloid, shell_extrude_revoloid
The first one will 'intrude' towards the center of rotation. that's a nice valid way of doing things, but the ends must be relatively flat or things will get messed up.
The shell_extrude, which is new here, will 'do the needful' and extrude inward, or outward, based on the normals at the points on the curves (circule, and cubic curve). That's useful in some cases, and you'll get a uniform thickness across the piece.
There's some nice 'visual debug' support, so you can see fancy colors, wireframes, normals, and the like (exhibited in the attached pictures). And yes, it does in fact generate valid .stl files (exhibited in the attached .stl files).
What more can be done with this? Well, I took the opportunity to remove the implementation of the bezier surface of revolution, because it is now redundant. I would like to do piecewise curves with C0/C1 continuity. It's just a matter of stitching them together. That will allow for more complex shapes. Other than that, not much other than some more simplifications, and rotation around an arbitrary axis. But, perhaps that can wait for a 2.0 version.
Still need to work on convenient end caps
Ultimately I'll merge this into the Renderer.scad file
Your ends should NOT be totally vertical
Hermite curves still don't come out quite correctly
I figured out my Hermite problem. The actual problem relates to the cheap way in which I am still calculating the normal to the circle. You absolutely MUST create your curve in the x-y plane. It will be interesting at some point to add the ability to do it more free form, but for now, it's best if your curve is planar in the x-y