Dynamo generated Voronoi 3D Printed Arm Cast

The Goal

Ipad +Structure Sensor scanner > .OBJ > into Meshmixer

Download .obj on A360

Dynamo + Meshtoolkit + Revit = 3dscanstep1.dyn (25.4 KB)

Then > 3dscanstep2.dyn (80.5 KB)

I am in need of direction, please.
I have tried many things with no success.

I have no experience in meshes, nurbs surfaces. My thoughts were to import the obj convert to a mesh then apply the “Synthesize” Package to create Voronoi pattern on the face. This did not work. I thought perhaps I needed a surface to do this, so I proceeded to create a simplified surface by getting several cross sections through which I wanted to loft a surface over. This is not working.

Working through this many times I wanted to reduce the run time so I exported the points data to excel ( Book1.xlsx (15.9 KB)
) rather than regenerate every time, hence the 2 separate .dyn files “3dscanstep1.dyn” & “3dscanstep2.dyn”. In both files there are iterations of ways I have tried to proceed. They are commented and grouped.

Your time is important. I am not asking for someone to solve this for me but would love any recommendations on a way to accomplish this even if my current efforts are not valid.

“Synthesize” Package to create Voronoi pattern reference:

@Karam_Baki #Karam_Baki

1 Like

Hi dbrokaw
Things you need to note ,
Synthesize toolkit have been updated hugely since that video, therefore the video you pasted is considered outtdated,

Install the latest Synthesize toolkit version use the Dynamo player with it,
Follow this video :slight_smile:

And you will find in Dynamo player a node called : Geometry.Voronoi Generator (Adaptive)
I haven’t published any video about it,
But you can use it easily, it contains some factors like X and Y and Z, to stretch the Voronoi grid and so on,

Now, you need to note, that you cannot achieve the exact result in the source image your provided ,

Reasons :
1- Voronoi generating in Dynamo has a huge problem in almost full or full circular surfaces like the shape you provided, it will result in a strange triangles and lines when applying the grid,

2- Assuming we did the following :
Created the surface in Dynamo, imported it into Revit, we can now have 2 separated surfaces, you will be able to successfully generate an Voronoi grid on each of the surfaces using the Geometry.Voronoi Generator from Synthesize with Dynamo player,
BUT, you will have to do the faces one by a time, and the result would be an unconnected Voronoi Grid from the sides between the two surfaces,

So, here are the best approaches to give the nearest result possible :slight_smile:

Approach one :

1- In conceptual massing environment, open the Surface to Revit.dyn in Dynamo, run and the surface will imported (I modified your original file you provided, you may check the difference)

2- Prepare a simple 2 points model line adaptive family, load it

3- Now start Dynamo player (You need to be updated to 2018.1 or .2) to have the edit input available,
Select the face you want, choose the family you prepared

And play, you should see it works as expected,

Now if you wanted to use T-Spline experimental nodes, you need to activate them in Dynamo it self, from settings Experimental

And in this case you will need to open the script and use the curves from inside, (The ones pulled on the surface) and convert them to T-Spline (not stable now it it’s current stage)

But this approach will result in two different not connected surfaces and it’s a bit messy (Also we are missing the T-Spline smoothness to achieve like the source image you provided

Surface to Revit.dyn (32.9 KB)


Approach Two :slight_smile:

1- After generating the surface of yours, tab into it and divide the surface,

2- Use belt measurement to align the divided edges,

3- Use the pattern Triangular family can be found inside the attached Revit family file (Idea from the B-Spline with Spline through point from Zach Kron)

4- Now use that family on your divided surface, and make border tile > empty

5- Next activate the surface nodes and stitch the borders (use repeater from array in conceptual massing)

Now in this approach, the borders of the surfaces are fully joined and attached together, but it is not a voronoi grid, so, if you wanted to try to give a better shape, you might try intersects instead of the default generated U and V grids, (You will be able to join borders if you made the same grid intersect both surfaces)

Here’s the result

Revit family file : https://drive.google.com/open?id=1hjY_XRdNTpr2gjP3o71VgvzE-1xSMfD1


@Karam_Baki, Wow! Amazing!
Thank you for the explained instruction. I really look forward to getting to work tomorrow and trying this. I can’t thank you enough.

After reviewing your “Surface to Revit.dyn” I do not see how 2 separate surfaces were generated?

Second, It seems as thought for me a mass surface does not want to work on a closed curve… But your surface works very well…? What am I not understanding?

I am also having issues separating the surface from the adaptive family to export finial geometry via the “STL Exporter for Revit”. Am I missing something?

Not a solution, but I would consider making a Voronoi on a planar surface and then remap it by UV on the curved. Also, the final result you’re after seems to suit the tsplines nodes, though I haven’t tried them in a while and last time they were not really stable.


@Vikram_Subbaiah has been showing off some t-spline action here.

T-Spline Goodies

Edit - :+1: @JacobSmall


Really don’t like that title…

1 Like

I was PMed about how we got the scan. Rather than reply privately, I thought I would share publicly.

We used the Structure Sensor for the Ipad mini and the app called Model Cluster to capture via the Structure Sensor. We then emailed it to our selves and imported it into Autodesk Meshmixer to heal the mesh. Then Dynamo into Revit.

1 Like

Am really sorry for huge delay in reply,

Okay, The reason (as far as I remember) for the creation of the loft, was some overlapping points in your DYN file, you may compare my edits to your original file,
As for the 2 surfaces, Dynamo Automatically creates 2 surfaces (You may notice this in many situations in Revit, likes simply a circle in walls) or a form from a circle too…etc

As for separating the the adaptive from the surface, simply load into the project, hide the mass from massing and site, then export, you will be left with the adaptive components only,

Not sure, does STL export the geometry if temporary isolated ? try to isolate the adaptive in the mass family and export, might save you some time instead of loading into the project.

The optimum solution for generating something identical to your source image s has to be done in Grasshopper, then import into Dynamo > Revit

What does UV stand for? thx.

Awesome work, I’d love some more info about the Synthesize package!

This worked for me, from the family environment…

The printer has added a central plane!

Hope that’s of interest,


mark, did you see this:
you have to scroll down a bit

1 Like

Printed a bit of it, looks ok…