Parametric Support tree
by Soren_Furbo, published
A perl script to create a .scad file for a support tree.
You need to input the spread for X and Y, and a formula for the height at each point.
The tree build is not optimal in either material or vertical space.
Known bugs: For large trees, especially if the height of the support points are not the same, it builds several sub trees. I do not have the time to find and correct this bug at the time being, so use with care, and manually add the branches needed.
This is a bit technical, but I think it should be doable. As a start, you can skip steps 4-6 in the following. That will give you a support for a flat roof, with support points every centimeter.
Download the .pl file. Open it in your favorite text editor.
Find the line that says "$max_X=50;" Correct this to the total X distance that needs to be supported.
Find the line that says "$max_Y=60;" Correct this to the total Y distance that needs to be supported.
Find the line that says "$distance=10;". Correct this to the highest unsupported distance your printer can span.
Find the line that says "$min_angle=45;". Correct this to the lowest angle your printer can manage, i.e., how flat a bar can your printer manage without support.
Find the line that starts with " $Z[$i]=". This is a few line below the line from step 5. This is where you put in the height that needs to be supported. If you wnat to support a flat roof, simply put in "$Z[$i]=20;", but more advanced shapes can also be supported (see the comments in the .pl file for an example.).
Save the file, and compile it. You need to have perl installed. On my system, I go to a command line, change the directory to the one the .pl file is in, and run the command "perl support.pl".
Open the file "Output.scad" in openSCAD. Use it as you would any .scad file.
- Enjoy the view of your new support tree.
If the thing you are using it for have support beneath the tree, you can set "base_plate_size=0;" in the .scad file.
If the connections between branches are hard to print, try setting "sphere_radius=2" in the start of your .scad file. This should not be necessary anymore.
You might want to supply branches connecting the support points, to make sure that your printer doesn't try to build all of the roof before it is supported.