Organic trees

Here some techniques or link to make organic trees.
There are not surely good glasses to drink but I wanted some simple geometry to test techniques.

There are some components that are very useful to make Trees. Without speaking of the generation of points Proximity 3d and Shortest Walk are the main tool to make trees.

The parameter group changes a lot the looking of the tree
See this discussion

The second useful component is able to smooth the line network. I use one of mine. It is a sort of Catmull&Clark. There are 2 main parameter, number of recursion and factor.

The third useful component will add some realistic branches radius.
Some explanations are here

I updated it and add some options.

Then there is the classical Dendro

And finally some use of QuadRemesh and some Catmull&Clark


Some 3Dprinting slice softwares have function to add tree like structures to support overhanging.

For sure I have seen some, but these “trees” are made to be deleted and don’t seems too beautiful. But it could surely be interesting to have some tools that can make such trees.

Here I continue making some organic tools. I use K-mean clustering to join branches. Still work to do but trees are a cool subject.


These shapes are cool. Lunchbox has a component “k-mean”. it works like a grouping tool.

Thanks for the tips. I have Lunchbox and lot of others plugin but I don’t use them much nor take enough time to discover them.
For the K-Means used for tree I needed a library in order to make a tool inside a C# component. I shall look if Lunchbox use an accessible library. It seems they use Accord.

Lunchbox has other math tool along side “k-means”. Accord seams a library heavenly related to machining leaning. Many “AI” GH plugins, like Owl, uses Accord. I am still learning how to using them.

Hey Guys,
I have been trying to follow this topic but i am stuck at a problem.
I am able to get all the curves and the pipes correct but after this FAIL to Boolean Union the Surface or Brep. Does anyone know how to solve this?

Tree (14.3 KB)

I must admit my grasshopper skills are …lets just say I can follow instructional videos but I have no idea what Im doing. I hope to change that at some point.

Thanks for sharing.

I added some new tools in Nautilus plugin (in validation process the 26th of February 2023)
Let first begin with a network of curves. It could be lines, polylines or curves. Curve could be closed but it will not work on all scenarios. Curves must not be duplicate.

Plug theses curves in the component Smooth Network of Curves, Nurbs curves will be transformed to polyline.
Choose the level of recursion for the smoothing and the factor.

You will see that the outputs are polylines or lines that begins/ends at intersection with other branches. This component could be useful to make a clean network of curves that could be then smoothed but keeping the connections.

Then plug these curves int the component TreeFromNetworkOfCurves

This component needs :sweat_smile:
a network of curves.

  • a root position
  • a power for the calculation of branches radius branch(i)^n = Sum (branch(i+1)^n)
  • a boolean to tell if the calculation of radiuses begin at the leaves or at the root. All the times the radius of the root will be 1 / ONE. You could have 0/Zero/Null radius if you have no licence.

The outputs are

Then if you want to use Dendo use the RadiusInterpolate to populate the branches with points and radius.