Create Modular Panels based on Curved Surface



We are having a problem creating panels in curved surfaces as it creates a lot of different variations.

We tried using massing in revit > divide surface and constrict the UV Grids to a certain formula so my adaptive triangle component will always be uniform in size. But obviously, this only is applicable when the surface is “regurlarly” curved.

Also tried lunchbox panels but I guess it does the same…

What we want is: From a curve, we divide it into grids such that it generates equal chord sizes - so now it will not necessarily be really following the exact curve coz it will prioritize the modularity instead. And from there, we will just add out components.

I am not very sure how to best explain this - but basically we want this constructed using just 3-4 (or 1) variations instead of thousands…

Need your advise…




Sounds like do my work. What have you tried so far? Drop here your graph.

1 Like


Can you drop a sample version of the shapes/curves + dynamo? Might be easier for people to attempt this.




There was a class on this subject on autodesk university from AU London.
I can’t seem to find it, but i did find the presentation.

Maybe @Dieter_Vermeulen or @LongNguyen or someone else can help you find the class.

Hope it helps

1 Like


Maybe this one helps too:

And this one (second half of the class):

1 Like



Thank you all for the response. I will look at the links - but just to show you, at the moment, I have this.
(Btw, I am stuck now. Any ideas on how to create panels out of these points?)


Basically, I just created a model line in Revit, transformmed it into a curve divided into segments with equal chords in Dynamo, then created a polycurve from the points and repeated it along the y axis (used equilateral triangle formula to determine the distance).

Double curves would be nice but I feel like it is too impossible for such a feat so… yeah.



I managed to find Ampersand package which creates a points lists using a list of points.
Right now the panels don’t have equal side but they are modular so I guess this will work for now…


Thanks all for the assistance!

This is the addition:



Correct me if I am wrong, but would what you need basically be to split a nurbs curve or polycurve into lines, but each line has to be equal length after the split.

So it is not enough to split the polycurve into equal curved segments because once you turn the curve into a line, the length is different. Basically you need to repeatedly split the curve, turn into polylines, and check if the line length is the same. If it isn’t, redo the process until it is.



This can be solved using the DynaShape’s ShapeMatching constraint or the Length constraints in, which helps to keep the triangles dimensions stay the same.

The ShapeMatching demo starts at 22:00



That looks really good. So the only way for it to be uniform is if their vertices are not really connected.

Btw, I tried to follow how to build the package from your github site at: and also watched John Pierson’s guide, however, I encounter problems with the Helix toolkit. I guess I will open another topic for this.



Are you trying to make the panels equilateral triangles with a set side length or a set amount of divisions along the curve?



I am trying to make them all have the same size. Basically, client wants everything to be one module to save cost but they also want it to look organic.


How to panelize/ divide a polysurface evenly

“So the only way for it to be uniform is if their vertices are not really connected”.
Not necessarily, you can set it up so that they are the vertices are joint.

  1. Generate a flat dia-grid mesh first (you will need MeshToolkit package for this)
  2. For each face of the mesh, obtain the three vertices, and make a ShapeMatching goal based on those three vertices (use the ShapeMatchingGoal_Create node from DynaShape). So basically, if you have n faces, you will get n ShapeMatchingGoals

You do not need to build from the GitHub source, you can use the installer posted here DynaShape



Hi Long,

Thanks so much. I kind of imagine the concept already… I tried to install using the link you provided but I get this:

1st Try at C:\Program Files\Dynamo

Second Try at the Appdata Location:

Both asked me to abort setup… Am I missing anything?

Thank you so much…



Have you every used Dynamo Sandbox on your computer. If not please tried to launch it once. Then close it and run the installer again.



I just ran the Dynamo Sanbox exe file I found at C:\Program Files\Dynamo\Dynamo Core\2 twice and closed. Still get the same problem…



Hi again, I guess it’s looking for the 1.3 folder which I don’t have even after running Dynamo Sandbox. Maybe I’ll just copy from 2.0 to 1.3? Or just install the 1.3 version…

I just installed it on my laptop running both versions and it got installed successfully!!

Do you have an installer for 2.0 (just in case) so I could also install it in my pc? Thaaanks.




There is some extra info on installing it here

I hope its up to date tho

1 Like


Sorry the installer is quite buggy.

Can you open Dynamo 2 and see if DynaShape appears in there. If yes then the installation was successful, you do no need to install Dynamo 1.3



1 Like


You can also do “manual” installation by copy the “_DynaShape” package folder from one computer to another. Note that this trick only works for Dynamo 2.0, which is what you are using.

1 Like