Smoother geometry | Dendro, exoskeleton or?

Hi community,

I try to make a pillar from lines with different radius that could further be smoothen. Any expert of Exoskeleten or Dendro can help me out :wink: .

here is my try out. Blue pillar is made with dendro but have wierd transitions. Exoskeleton give me also wierd results at nodes… and straigh parts are wavy … (12.9 KB)

thanks :wink:

instead of the ‘curve to volume’ component i would use the ‘points to volume’. you can then change the radius at various points along each curve to get cleaner transitions. (13.2 KB)

1 Like

Hi Charles C. ,

Dendro is a great plugin, but for this case, I would use something like Exoskeleton or even better the Fattener from Daniel Piker ( Skeleton fattener + mesh cage morph ) . It is a great tool to “fatten” curves with different thicknesses.
Have a look at the attachment,

greetings, (7.9 KB)

1 Like

@ryein , thankss it solve the kink issue :slight_smile: ! However at Kinks geometry still to rough / stiff … I’m looking for something more smooth… And I didn’t find anyway within Dendro to control that.

@bumaye it works well whenever you have less then 3 lines connecting to each others. See my post here (20.4 KB)


For Dendro you could use negative offset

it is also better to smooth the polylines before using them in Dendro. I am not a master of Datatree handling in GH, I prefer C# for that, so the DataTree handling here is awful.
Smooth with some fillet corner.

Or some smoothing of polyline


Here the script, that works. The main idea is to smooth the polylines. There are many parameters that depends on the unit of the geometry. So if you want to apply it to your geometry, try to understand the meaning of each part. It is not a one click solution.
There are also many strategies to smoothen polylines.
Here different results

Just one smoothing

Offset of 200

Offset of 400

More polylines (32.3 KB)

You will need Sandbox for the Topology

And shortest walk


@laurent_delrieu … you’re a wizard to me ^^ !! Thank you very much for your time and clever definition.

Add couple, not fatal but still, issues that I never faced before. here is what I got when opening the .gh

About the definition, the radius of all your points is based on their z coordinate + the botom radius (600) and the top radius (200). Lets say that I want 1 step more control over the radius at nodes… I wonder how could we implement that. Unfortunatly for now I run out of time on this … maybe if I find more time, I’ll try to figure out something. Let me know if any simple solution come to mind.


I forgot to remove this component that use one of my DLL (compiled library). You don’t need it so just delete the component and the message must go away.

For the different radius it could be interesting you draw something because there are so much solutions that I don’t know what you could want. For real tree simulation I could propose you that :

1 Like

@laurent_delrieu What you suggest is quite interesting ! Although I’m looking to create simple architectural pillars, no need many branches. Only few but with a control over the radius of each segment of the pillar.

One way I thought was to create spheres at kinks with the desired radius. That was what I tried to do with Fattner . Now fattner is not suitable for smooth transitions at nodes… So I now try to find a way to affect the radius of all the points generated by your definition BASED on those spheres radius. see image


If I understand well you just want to have some transitions that depends on the height. It is quite simple to manage a radius depending on the height. Graph Mapper could be used, equations, curve … For me it seems the simpliest solution to your problem.
Precise control : If so use a curve representing the radius depending on the height
Less control : Use graph Mapper

@laurent_delrieu, you right, I didn’t even thought about the graphmapper… And as you said its not the highest precision, but it will suits me :).

About your curve representing the radius depending on the height I didn’t understand what you mean by that. (24.5 KB)


For the curve I meaned that

Draw a curve on xz plane, and say that its X value represent the radius depending on the Z (21.8 KB)
If you want to use it, bake the curve, affect that curve to the curve component and then move the control points as you want to control the radius.
You could use polyline or whatever …
Is it more clear ?

1 Like

Really clear. Another good approach I didn’t thought of !!

Regarding what you said earlier :

I cannot agree more with you… I know have to deal with more then 25 of these columns all different… Managing the data tree structure within grasshopper will be a nightmare… Will have to rebuild this whole definition…

More over, its not that efficient this way… see time it take for one column (6s)

Finally, I don’t know how to put the graphmapper as an input of this cluster (as it is in the middle of the definition… never had to deal with such situation…) … do you have an Idea ? (56.7 KB)

Anyway these can be done manually. Thanks already for the help.