Model organic shape

HI everyone! Hello, I’m new to using Dynamo. I’m trying to model a shape like the one in the image, and so far I only have those surfaces. Does anyone have an idea of how to create the top part of the cover?
Thanks!

@gvero774 , might be worth a watch.

1 Like

Create a few more curve profiles and loft.
You could also consider creating multiple sectional profiles at intervals and loft them.

If you can work out the mathematical formula for the desired form, that would be the most elegant approach.

You could attempt something like this later.

n = 50;
u = -75..150..#n;
v = 0..360..#n;
x = ((1.25+Math.Sin(u))<1>*(Math.Cos(v)+0.25))*1.25;
y = (1.25+Math.Sin(u))<1>*Math.Sin(v);
z = Math.Cos(u)*1.5;
NurbsSurface.ByPoints(
Point.ByCoordinates(x<1>,y<1>,z<1><2>));
10 Likes

Amiga @gvero774 Buenas como estas?? The solution of @Vikram_Subbaiah it is correct but it is very advanced because he uses code blocks, maybe something more with nodes will help you to understand better, you just have to reproduce more curves that help to smooth the surface maybe scaling the last of the big ones and moving it a little higher, the idea is to draw cross sections as if they were contour lines, I hope this helps you!


you need check also the order of the list of curves is important!!

2 Likes

Hi everybody! Thanks for the collaboration! I’ve managed to finish the shape.
Does anybody know how to make that triangle pattern on the surface?

2 Likes

what is your ultimate goal? Do you want to keep the geometry in dynamo? Do you plan to move the geometry to some other program?

Hi! I need to use it as a building facade in Revit .

You can use nodes from lunchbox or you can split surface manually.

2 Likes

HERE’S THE VIDEO OF HOW I SPLIT SURFACE MANUALLY.

2 Likes

Wow, this looks great! I’ll take a look at it and see what I can do. Thanks!

Attempt to create the pattern manually, you’ll learn a lot in the process.
You could search this forum for similar paneling topics as guidance. Some of the graphs/code might be really old and may not work in current versions of Dynamo, but they should still help in providing some direction.

4 Likes

Amiga @gvero774 Excelent Work, looks like you have a talent for this, apart from @mavs013’s videos (Excellent work my friend :+1:) there are some videos on the channel of Bim guru (@GavinCrump), concerning this topic go to his channel and watch them and leave a like, there are very good; I leave you the link:

I would also like to advise you to do your baby steps by reading the Dynamo manual: https://primer.dynamobim.org/
finally as a good forum practice, if your question is solved, mark the solution so the topic is closed, if you have more doubts about the next step just create a new topic or use the search engine using keywords to find old topics that already have a solution, you usually find interesting things!

2 Likes


This is the result using Lunchbox, the thing is I need all the triangles to be the same size and shape .

1 Like

Paneling doesn’t really work that way as the geometry on the inside of the curve is smaller than that on the outside. I you move things over to Revit’s adaptive components environment as there are multiple predefined paneling layout methods there for you to play with.

At that point you will need to look into meshing and relaxation algorithms to find those types of equal size outcomes on irregular forms. Rolling ball algorithms etc.

For this personally I’d explore kangaroo for Grasshopper as well as dynamo which has some goals for equal face meshing. Also quadmeshing etc.

In dynamo specifically there’s mesh toolkit but unsure how far it goes in this space as remeshing can be quite computationally complex unless its a simple form.

1 Like

Is it possible to change isolines direction? like in the yellow figure

I dont know how to import my geometry into an adaptative components file :smiling_face_with_tear:

The shape and size of panels below should be more or less similar, but the diagonals won’t align

This is not complete, but should help demonstrate a possible workflow.

// Sample Form
u = -75..150..#25;
v = 0..360..#25;
x = ((1.25+Math.Sin(u))<1>*(Math.Cos(v)+0.25))*12.5;
y = ((1.25+Math.Sin(u))<1>*Math.Sin(v))*10;
z = Math.Cos(u)*12.5;
sf01 = NurbsSurface.ByPoints(Point.ByCoordinates(x<1>,y<1>,(z+11)<1><2>));

// Paneling
is01 = sf01.GetIsoline(0,0..1..#50);
ct01 = (Math.Round(is01.Length/1.5)*2)+1;
pt01 = List.DropItems(List.Sublists(List.TakeEveryNthItem(is01.PointAtParameter(0..1..#List.DropItems(ct01,-1))<1>,2,1)<1>,0..1,1)<1>,-1);
pt02 = List.TakeEveryNthItem(List.DropItems(is01,1).PointAtParameter(0..1..#List.DropItems(ct01,-1))<1>,2,0)<1>;
pt03 = List.Flatten(List.Transpose(List.Transpose([pt01,pt02])<1>)<1><2>,-1);
pg01 = Polygon.ByPoints(pt03);

[sf01,pg01];
2 Likes

I’m a newbie at dynamo, so I don´t understand any of this. I’m sorry :smiling_face_with_tear: