Could You Help Me Generate an Exterior Facade Shading System With Dynamo


Hi All,

How would you create this facade?
I am struggling to understand how to array profiles on different angles.

Many thanks!

Facade Desing with Dynamo and Import in REVIT

Hi, have you looked at this posting. Could be helpful :slightly_smiling_face:


An adaptive family perhaps ?

Are the vertical elements all the same profile- just offset vertically ?



Any example how would you do a panel like that, Andrew?


Hello Sandra,

You could do it like so in DesignScript:

// Inputs
x = 0..len..#amt;
rot2 = rotAmt*(Math.Sin(0..360..#amt));
// Rig
pnt = Autodesk.Point.ByCoordinates();
pln = Autodesk.Plane.ByOriginNormal(pnt,Autodesk.Vector.ByCoordinates(0,0,1));
pln2 = Autodesk.Plane.ByOriginNormal(Autodesk.Point.ByCoordinates(x,0,0),
vec = Autodesk.Vector.ByCoordinates(0,250,0);
negVec = Autodesk.Vector.ByCoordinates(0,-250,0);
ln = Autodesk.Line.ByStartPointEndPoint(pnt.Add(vec),pnt.Add(negVec));
lnMid = ln.Translate(0,0,z/2).Rotate(pln,rot);
lnTop = lnMid.Translate(0,0,z/2).Rotate(pln,rot);
lft = Autodesk.Surface.ByLoft({ln,lnMid,lnTop});
thck = lft.Thicken(thickness/2,true);
trns = Flatten(thck.Translate(x,0,0));
rotateFin = trns.Rotate(pln2,rot2);
// Names
names = "Fin" + (1..Count(rotateFin));

This will be creating Dynamo Geometry however. So you could either use an AP rig like Andrew suggested, or push this out as static geometry (As I have done) :slight_smile:

It’s not a perfect representation, but should get you started. If you don’t like DesignScript, you can re-build this in nodes too :slight_smile:

facadeSpin.DYN (10.9 KB)


This looks great, but I am wondering how could I make something like this which would be possible to apply to different Revit model faces.


So I tried to recreate dynamo from the post you shared, however, I keep getting an error that Null value cannot be cast to double. I am attaching the file

Thanks! Twisted_fins.dyn (15.5 KB)


Here is an OOTB way to do this that might be adaptable to you situation. :grinning:


If you want to change the location / orientation of the louvers, then all you would need to do would be adjust the input reference lines and associated Vectors.

Extra bends could be handled with more random parameters along these lines.
(D1.3) Reference Lines to Louvers.dyn (18.5 KB)


Your null value was originating here.

So I tweaked the script slightly. :wink:
Twisted_fins edit.dyn (16.9 KB)



Hello Sandra.

To apply to different Revit models, you could do the following (Bear in mind that the solution may need to be tweaked a bit pending how your geometry has been created).

This has used Ewan’s solution as a basis (Vectors in lieu of mine my sinuous one).

twistyFacade.DYN (38.1 KB)

It uses the ‘Select Edge’ nodes, in my case pulling 2x walls top and base edges. Pending your design this is the bit you need to tweak (Effectively all in blue).