This was the simplest way I could think of to wind the secondary on my Tesla Coil. I have wound two before, and tried different methods. Using a hand-held electric drill could work, but I have found that electric drives are harder to deal with unless you are using a foot pedal.
The pyramid shapes should allow you to wind most size pipes from 1 inch to 4 inch diameter.
Once assembled, it helps to have the wire supply fairly far away and the wire should not be 90 degrees from where it is winding. It is best to position things so the wire supply is slightly behind the position it is on the coil. If you do that, the wire pulls itself towards the last winding and you end up with a nice tight coil.
It works best to really press the pyramids in tight on the pipe. I'm sure some sticky sand-paper could be put on the pyramids to make it hold extra tight.
Technical
Print out two of the pyramid shapes and three of the bearing holders. Print one crank. The hardware is designed for aluminum extrusion so that one side can be slid back and forth depending on the length of your coil. This build requires the extrusion that is 20mm between the grooves (center of the groove to center of the next groove). I use M5 hardware and T slot nuts. The screws are 8mm long (threads) for the printed parts. The L bracket may take longer ones depending on which one you get or make. I used a 30mm long M5 bolt between the crank and the drive pyramid. It was barely long enough. The other side just needs the bolt to be long enough to fit into the bearing so you will need to cut it off or drill a hole in the frame to allow the bolt to go through it. It may be best to get a couple long M5 bolts just to make sure there is enough space.
The bearings I used are 16mm outer diameter and 5mm inner diameter. They are 5mm thick, but any thickness would work as long as the crank bolt is long enough.