Customizable Tree

by thingiverse, published

Customizable Tree by thingiverse Mar 27, 2014

Featured Thing!


Use This Project

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

81159Views 15304Downloads Found in Models


3D print a forest of unique, customized trees using Thingiverse Customizer. With about a dozen parameters, the Customizable Tree allows you to easily generate all the flora your inner arborist desires.

We just upgraded Customizer to a more recent version of OpenSCAD (2013.06), so we created the Customizable Tree to show off some of the new features. It now supports recursion, or the process of repeating similar shapes, in modules and functions and the scaling parameter for linear extrusions which allows the tree branches to taper.

Additionally, the tree customizer uses a new library we wrote for handling 3D vectors and a small library for converting hue-saturation-value colors to RGB. The 3D vector library comes with some helpful functions for rotating vectors toward other vectors as well as a module for visualizing vector paths.

*[Edit [3/28/14]:

  • Updated the branches to used a simplified version of custom shapes to fix very long render times.
  • Fixed a bug where the branch caps weren't rotating properly with twisted branches.
  • Added a new "Advanced Settings" tab to expose some of the more finicky parameters. Please note, the advanced settings can produce unprintable geometry!*


By default, these will not have extreme overhangs and thus won't need supports. You can turn off that feature with the "Allow All Overhangs" option in Customizer. We've gotten great prints with standard slice settings (.2 mm layer height and 2 shells).

Let us know what kinds of settings you use to print them!

More from Models

view more

All Apps

Upgrade this Thing with Thingiverse Apps


Edit, personalize, or revise this Thing

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

Can you please add a file for the black tree pictured? Thank you.

Can you please add a file for the black tree pictured? Thank you.

I need an STL file of the one in the first picture please... thanks!

Can i use this in a project of mind as a shrub

did anyone get an stl for this yet?

Jan 30, 2016 - Modified Jan 30, 2016

The randomizing code has a bug (or maybe this is expected?); the same seed value is used for every single branch at all levels, which means that only a single random value is used for each varying parameter, e.g. all branches will have 3 sub-branches, even if you set the range from 2-5. I fixed this locally by having a global counter which I incremented in each call to the branch creator. I added this value to the seed in every rands() call, so that a unique seed is used for each branch. this makes the trees a lot more random and realistic.

Can you update the code to address this issue, or add a "trueRandom" parameter or something to enable it?

I don't know if that's still relevant, but publish a derivative, the liscence allows you to, and i'm interest in that bugfix.

sorry I don't think I have the code anymore, but I worked around it by generating a new seed each time it was used if I recall. Hacky but I didn't know any other way

I've been trying for an hour now to create a slender tree similar to the black one shown as the cover image, with no luck. Do you by any chance have the stl that was used to create it, or a list of the settings needed to create a similar tree?

Soon to be leaving thingiverse because of Makerbot's behavior towards open source.
Details: http://www.fabbaloo.com/blog/2014/5/25/has-makerbot-crossed-the-line-for-some-yeshttp://www.fabbaloo.com/blog/2...

I've tried exporting to STL the basic tree so that I can open it in ReplicatorG but it doesn't seem to like the STL file for some reason.
Any ideas anyone?

What settings did you use to generate the tree? It should have created a nice watertight model. The only thing I can think of is that maybe the polycount was a bit high and RepG is choking on that perhaps...

Absolutely love it! Cant wait to post some prints!

super nice. thx :-D

How you make this parametric? There is any tutorial? Thanks

This is programmed using OpenSCAD (http://www.openscad.orgwww.openscad.org). To make the script editable in Customizer we added comments to allow controls like sliders for the variables, you can find info on how to do that here: http://customizer.makerbot.com/docshttp://customizer.makerbot.com....

There are some good tutorials on getting started with OpenSCAD here: http://www.makerbot.com/blog/2011/01/19/openscad-basics-the-setup/http://www.makerbot.com/blog/2...

Keep getting errors processing.

Sorry for that, custom shapes were causing problems when they had too many vertices. I've updated the script to fix that problem, so try again!

processing since one hour...

As mentioned above, this was likely due to custom shapes bogging down Customizer. If you don't mind trying again, it should be better now.

If you insert a rotate([0, 0, -twist_poly]) command on line 479, the branch caps will align nicely with the branches if twisted.

Thanks! It's fixed now :)

I don't know what I am doing wrong, but I can't seem to replicate anything close to your example pics (the black one I like much).

The black tree was created using some parameters that I didn't expose for simplicity's sake. I've updated the script to have an "Advanced Settings" tab which can be used to get skinnier trees. Be warned though, they may be much harder to print and will require supports.

I can't figure out how to make one similar to the gray one in the front.

I've added an "Advanced Settings" tab to give more controls. Trees created with those controls can be unprintable so be careful with the settings.