Create Modular Panels based on Curved Surface

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.

“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

Haaaa… I think I have installed it successfully! I will play with it and see what I can do to solve my problem… :slight_smile: THank you so much for your time!

check out the sample files…awsome!

1 Like

I quickly made a diagrid mesh (with Python) as inputs for the ShapeMatching goals. RegularTriangles.dyn (50.3 KB)


To smooth out the wrinkles, you can modify the initial mesh so that it has some thickness (rather than just flat triangles), similar to what showed in the AU2018 class video.


Wow… you’re amazing! Thank you so much. I watched the entire video you sent me and thought I could try the One with length constrain together with shape matching… and yeah, I would add thickness to represent the actual thickness of the panel to be fabricated to be sure it can be constructed. Thank you so much!

1 Like

Hi mate, Great work you’ve done there.
This problem is same with me and been trying to find solutions.
My question is will this work in squares? instead of triangles.

Hi there. Have you already solved this problem ma’am?
If yes, could you also share how can I solve because I’m having the same problem as yours, the
only thing different is we required a modular SQUARE panels from a freeform surface.