Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Parametric Support tree

by Soren_Furbo, published

Parametric Support tree by Soren_Furbo Apr 9, 2013
0 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps




Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

2126Views 616Downloads


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.

  1. Download the .pl file. Open it in your favorite text editor.

  2. Find the line that says "$max_X=50;" Correct this to the total X distance that needs to be supported.

  3. Find the line that says "$max_Y=60;" Correct this to the total Y distance that needs to be supported.

  4. Find the line that says "$distance=10;". Correct this to the highest unsupported distance your printer can span.

  5. 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.

  6. 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.).

  7. 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".

  8. Open the file "Output.scad" in openSCAD. Use it as you would any .scad file.

  9. 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.

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App