Parametric paneling (precast concrete)

The example on the left looks a lot more involved but the one on the right should be quite easy to achieve with just a handful of nodes:

It’s well understood that Grasshopper provides a lot more possibilities, simply due to the fact that it’s been around for a lot longer and is better established. However, both examples should be quite doable with what’s already available on the Dynamo side and a little persistence. It kinda sounds to me like you gave up without really giving Dynamo a chance :).


On the left looks like a nurbs surface wth protruded sin curves.

Hey Dimitar,

Thank you for your prompt feedback, it’s much appreciated.

Actually I am the only one who is still pushing for Dynamo, as Revit is our primary working platform. Rest of my team gave up and moved to Grasshopper as no one is used to work with dynamo :). Unfortunately I have very much beginner here with little Dynamo experience, but I am determined to figure it out. That’s why I reached to this forum.

So if you don’t mind I’d like to ask you for another thought? I am trying to apply this texture to a specific polygon surface, attached below… (left is overall precast area, right is only one face with massing division for paneling)

Would it be possible to apply paneling you demonstrated to the polygon surface above using what’s already built with massing (including surface division)?


Try trading out the Line.ByStartPointDirectionLength for lines along the U axis (or V axis - I can’t see how your geometry is built) along the face of your Revit massing.

Proficiency is certainly key to any design tool - which ultimately is what Dynamo is. An expert sketchup user would say use sketchup, an AutoCAD guru would say AutoCAD would be easier, a Vectorworks wizard would steer you towards Vectorworks, a blender wizard says use blender, every form likely has a few old timers would claim that this would be easier accomplished by pen and paper, and somewhere on the earth there is a wackadoodle who would say that writing the code in POVRay would be best. (Instant likes to anyone else who has used that for modeling before).

With any tool, its all relative to what you know, and you will always want to go back to what you’ve done before, but in the nearly 20 years using digital media to make design / art / construction drawings I’ve learned that every shift in media will teach you new things. Stick it out and don’t jump ship because you or your coworker’s are more comfortable with what you are familiar with.

1 Like

Have you tried pulling the geometry out of your divided surface?

@toilija This might give you some ideas …
Pattern-2.dyn (16.0 KB)


@toilija This should get close to the other pattern with a little tweaking …
Pattern-1.dyn (11.3 KB)


@Dimitar_Venkov , @Vikram_Subbaiah

Thanks a lot guys for pitching in, your input is very valuable. As I am only allowed to upload one thing at the time I’ll break this post in few segments.

For texture #2, I extracted subdivision as @Dimitar_Venkov suggested, and finally got some results…

But this is still not quite there yet. I am really struggling to understand how rotation is controlled here…

So I made a diagram what I want to see as end result and I will work on steps how to get there with information I gathered from you guys. Here is the diagram…

@Vikram_Subbaiah , thanks a lot for sending graph for texture #2, but as you can see from the attached diagram I’m not sure it’s applicable here. But as being beginner maybe I’m missing the big picture and graph you did can be used here as well…

Texture #1, @Vikram_Subbaiah thank you so much for sending the graph, it is exactly what I need. It’s amazing how proficient you guys are. I am thinking now if that can be translated to a very specific surface with opening, as you made one module and copied it over into rectangular surface. So I would need to think how to limit that module to a specific boundaries. Surface I have in mind is attached below…

I tried uploading the graph I made for texture #2 but as being a new user it looks like I’m still not allowed to upload anything…


You could use it by selecting top and bottom boundaries. Like this …

Pattern-2-1.dyn (17.7 KB)
Pattern-2.rvt (1.3 MB)

1 Like

Randomizing the above pattern …

Pattern-2-2.dyn (39.0 KB)
Pattern-2.rvt (1.3 MB)

1 Like

Not the most efficient approach, but should help …

Pattern-1-1.dyn (20.5 KB)

Pattern-1.rvt (1.3 MB)

1 Like

So another update:

Finally got this to work the way I want it. I simplified a lot by using perpendicular rectangular profiles at top and bottom, and adding one in the middle by using graph map and bezier curve and then rotating those. Here is the result…

Big credits for this to @Vikram_Subbaiah and @Dimitar_Venkov

1 Like

However I want to one step further in order to make it 100% precise. I need to change origin points of my rectangular profiles so it goes on exterior side oppose to the center.

I know it’s probably just adding few more nodes to define the origin point, and my next step is to figure it out…

But I am very happy with the overall result…

This looks great, thanks @Vikram_Subbaiah! I think it’s good enough even with those small issues around the edges.
I’ll give it a shot as soon as I finalize texture #2.

1 Like

Hi Dimitar,

I was looking at this workflow and I am wondering would it be possible to apply on Revit model surfaces?


I don’t see why not. You could use the Curve.ByIsoCurveOnSurface node to get the initial “grids”.

Sorry guys for not posting anything here. This workflow is applied to the Revit model. I want to thank again to @Vikram_Subbaiah and @Dimitar_Venkov for your help. I got exactly what I wanted in the end. Here are few screen shots of an end product.