Splines

I was trying to find something on the possibility of making a spline snap to the center of a mesh. For example a windy tube. Is it possible to find the exact center of the object and have the spline follow from one end to the other and follow its curve by snapping?

Usually a curve is what makes the shape or deforms a mesh to its shape (curve modifier).
It’s not that common to snap to mesh, which you could do one handle at the time by snapping the 3D cursor to the center of an edge loop or between two mesh elements. Vertex snapping could also provide some ways to snap handles.

Perhaps better way to do this would be to modify the mesh so that you can get the centerline and convert that to a curve:



Here is a tube shape as mesh. I first selected two edge loops from the opposite sides (alt+(shift+)RMB), created faces between those (W -> bridge two edge loops) and then separated that to its own object (P -> separate by selection).
Then in a new object I added a new loop cut in the middle (Ctrl+R, LMB, RMB), ctrl+i to invert the selection and deleted the side loops (X -> vertices) to leave just one edge loop in the middle.
Then converted that to a curve, alt+C in object mode. Edit mode, set spline type from the tool shelf (on the left in the image) and changed it to bézier curve. That gives a curve in the center. If there are too many handles, you could use simplify curves addon to reduce its complexity and have fewer handles to work with.

Ya, that’s all I could find on it, thx…
It’s for spline mesh animation in a game engine. typically for plants.
I guess I could model a trunk that way and see how I can adjust thickness to different parts.
The plugin that uses the spline(hand made) for animation is for 3ds max, but the code is available to switch over to Blender 3D though…Although I don’t know about generate pivots in Blender?

I found starting from a single vertice is ok for now.

Is it possible to convert a string of vertices(edge) to spline?..and of course also converting a spline if started with it to a row of vertices(edge)?