I start this project because I wanted a way to build these structures beyond the size capabilities of most 3D printers. It's also substantially cheaper to substitue dowels, which cost about $0.02 per cubic inch, instead of printing the straight sections.
All the dimensions given are specific to the form I built, any of them can be altered to fit your needs.
Step 1: Wireframe
Build a wireframe. I built mine from an analysis of the motion of drinking coffee. I will elaborate on this process either in a later Intractable or as addition to this one.
Step 2: Tubes
Before going beyond the wireframe it is extremely helpful to make some layers for organization. I used these
Wireframe (original curves)
Inner pipes ( slightly large than the diameter of the dowel)
Outer pipes ( Inner tube + wall thickness of connector)
Joint Cutting Objects (set of spheres to make consisten connectors)
Dowel Cutting Objects ( optional layer)
Before you start designing your model mesure your dowels with a pair of calipers. It is a sad realization when you print out all your connectors to the size the size the dowel is listed as and the piece don't fit.
I used quart inch dowels with diameters that vary between 0.24"-0.25", so I used 0.26" as the inner connector diameter. Before building any pipes, make sure none of the curves are joined. The angles between curves causes interesting but troublsom irregularities in the connectors. Select all the curves, use the Pipe: Rounded Caps command, and then move all the pipes to the Inner pipes layer. Hide the layer.
I built the connectors with a wall thickness of 0.05", making my outer diameter 0.36". This is wall thickness should be adequate for most models, but might need to be adjusted depending on your situation. Repeat the same process as the inner pipes to create the pipes for the outer diameter.
Step 3: Cutting Surfaces
The cutting layers are a collection of spheres to remove the connectors from the pipes made in the last step. I used a sphere with a 1" radius as the cutting object.
The dowel cutting object is an optional step that helps the final model retain closer dimensions to the digital model. I used it to cut the lines of the wireframe later in the process to produce an accurate set of dowel lengths.
Create the sphere or sphere you want on the appropriate layers. Center them on all the connection points of the wire frame object.
Step 4: Cuts
Select all the spheres on the connector cutting layer and use the Trim command to reduce all the pipes. Select all the trimmed pipes and use the Cap command to ensure they all are closed surfaces. After that use the Boolean Union command to join all the piece into clusters of inner pipes and clusters of outer pipes.
Step 5: Common Problem With Boolean Unions
Sometime the sections of pipe can not be joined by Boolean Union. It is typically caused by the rounded sections of the pipes being built slightly differently, which creates confused the Boolean Union command. The easiest solution is to take the object causing the problem and move it the smallest amount you can. If you move the pipe segment along the curve it was built from it will not alter the angles of the connector.
Step 6: Making the Connectors
After all the pieces are joined into objects on the inner pipe layer and objects on the outer pipe layer, use the Boolean 2 Objects command, select a pair of objects an click through the options until you have a connector.
To keep things simple I made a new layer called Made Nodes for the finished connectors. If you have 12 or less connectors this isn't really essential, but in my case with over 25 connections it proved very useful.
Step 7: Printing Assembly Prep
Once you have all the connectors made it's good to give them a quick look over to make sure they are all valid surfaces that will print correctly. After you are confident in you models export each object as an .stl file and send to print.
While you are waiting for your part to print you can start preparing the dowels for your model. To keep things in order once you start assembling it's helpful to label the connectors on your rhino model. I did this with a text layer because I didn't want markings on the printed pieces. If having labeled printed parts doesn't bother you then label the pieces before sending them to print.
If you have the dowel cut surface layer use the trim command to cut all the pieces of wireframe object that fall inside the spheres. It's a good idea to duplicate the wireframe layer before you start this process incase you need to rebuild anything later on.
Use the object properties window to find the line length of each segment, cut the length from a dowel, label the connectors it goes to, and either delete or move the curve to a different layer.
Step 8: Assembly
This part takes a deceptively long time. It largely becomes an activity in patience, so take your time.