Ohh, why not forget about beziers and use a point to point system. What you'd do is get a sorta string of waypoints, and you move through them, but instead of storing locations, you store angles and move at a constant rate. So you'd allow 3D rotation of each point, but sorta cloning too - if the waypoint is pointing a little down, and a little to the left for example - you could simply compare the previous waypoints and keep the angles constant, then the track would make a sorta corkscrew for as long as you kept adding points. - imagine the points are all spheres stuck together, only designated by the previous points angles. This would mean designing tracks would be like bending pipecleaners, but as long as you took your time and worked in sequence your track should come together fairly easily. If the track goes a bit nuts, a little smoothing of your waypoints should fix it. This method would be a lot easier o work with too - for example, moving objects along the tube can be done in a similar fashion to creating the tube.
If I was you I'd work on a 3D point to point editor, just a line really that you can alter in 3D, does'nt have to be smooth, just a line between points and a mouse interface. Here's a couple of tips for this sorta interface though:
* Make a dummy object, which is hidden - this can be used for 3D - Screen conversions.
* Step through each point in the line, and position a dummy object there, then get the screen position and draw a box. Your best checking the mouse at this point, maybe set a variable to the selected point if the mouse button is not clicked.
* If you click the mouse, you should rotate the point in 3D, left click could mean X and Y mouse movements affect the Z and X angle of the point, right click could change roll angle if necessary (very cool for rollercoasters

).
Van-B
My cats breath smells of cat food.