Creating unified tubes shaped like corals

hey!
so I have been trying to mimic the shape of these corals

or these

I only managed to create the shape of the tubes, using curves and applying ‘divide curve’, ‘pframe’, adding later multiple circle using the ‘circle’ component and ‘sweep1’ for the circles connaction.
the qustion is - is it possible merge them into unified surface (and later apply offset),
so i could get a unified shape of the corals.

adding the gh file and the rhino file with the curves.corals_pipe.3dm (262.8 KB) pipes_for_corals.gh (25.7 KB)

Hello
you know could “internalize” curve inside Grasshopper script, so no need of the rhino file. Right click on curve component …
you also could upload image with this button

For your problem the most simple, not fastest, is to use isosurface, here from Millepede




http://www.sawapan.eu
Or Dendro, that is most recent, fastest …



Using V7 it is also possible to remesh it with quad and smooth it very well …





Many many ways, variations …
pipes_for_corals_Dendro.gh (20.9 KB) pipes_for_corals_Dendro-rhino7.gh (32.3 KB) pipes_for_corals_Millipede.gh (28.6 KB)

16 Likes

thanks a lot! looks amazing [=

Thanks, your idea is also very interesting so it gave me an idea. I tried to construct some automatic sponge growing. Not yet with all the control I want but it gives interesting results.



6 Likes

that looks so cool!
happy to inspire [=

Dear Laurent,

thank you for your valueable post. The solution of populating the pipe surfaces with points and then using them as input points to place voxels in Dendro is working very well and stable.

What was your experience on the computational performance (e.g. required time) of the dendro approach?

In general, to design such organic tube-like objects, I see three possible workflows:

Workflow A): Populate pipe surfaces with points > Place voxels at points with Dendro > (Smooth voxels) > Extract mesh

Workflow B): Convert pipe surfaces to mesh representation > Apply thickening operation on surfaces meshes > Unite meshes as a single mesh

Workflow C): Create thickened, closed brep bodies from the pipe surface > Apply boolean unite operations on brep bodies > Unified brep body

I guess, in the end it depends on what type of representation a designer wants to have (e.g. a brep keeps the eaxct representation and allows creating meshes with any resolution). However, if output as a mesh is OK and the result is smoothed anyway, workflow A) seems to be most stable and fastest - because the unite operations in B) and C) seem to fail some of the time if no clear intersections are present and require some time to compute.

I would be curious to hear your and other thoughts … :slight_smile:

I tried to implement approach B) and C) with custom scripting. Corals made out of breps look like as in the attached picture. It requires some thought on how to deal with the tolerances and intersections but Rhino seems to be very stable in peforming complex booleans with many brep bodies. My experience is that breps are more stable compared to mesh operations as you have a clean intersection curve. The speed of brep operations seems okay so far (a bit slower than dendro).

You summarize well the options available. But it also depends on how things are done. On my last images I made a custom script to “growth” the coral. It generates a lot of curves so it is easier to use points and Dendro.
Your approach is good, but I think it is not enough organic. Mesh approach is more suited to that.