Thursday, March 21, 2013


This week Matthew, an intern in our office who has been using Revit for some time, came up with an interesting query.  He wanted to make a slatted timber screen that acts as a guarding to an open staircase.  He had made a rectangular version based on a parametric array & a sloping version based on fixed geometry.  But how to make a parametric sloping version ?  This is what he wanted to achieve.

I ad-libbed my way to a solution based on adaptive components in about 20 minutes as a live demo sitting down at his computer.  Basically it went like this.  "New Family" choose "Generic Model Adaptive".  Place 2 points and make them adaptive.

Select the points and hit "spline through points". Turn this line into a reference line (check box under properties)  Place 2 more points, hosted on the line. one close to each end.  We will move them right to the ends later, but for the moment don't want to get them confused with the adaptive points.

Now create a new mass family.  Go into the plan view & draw a rectangle.  Add parameters for X & Y dimensions.  This will act as a profile within the massing environment.  Load it into your adaptive family & place and instance on the reference plane of one of the points.

Do the same for the other point.  Now you have 2 profiles hosted on a reference line.  Select these and hit "create form".  You end up with a rectangular slat that will adapt its length to whatever is constraining the two ends (ie whatever the two adaptive points are connected to)

All good.  But in case you had a problem with the alignment of your profiles, don't forget about the Work Plane Viewer.

Once everything looks OK you can move the points to the very ends of the reference line.  Just select each in turn and check out their properties.  Under "normalised curve parameter" you will see a value between 0 & 1.  Adjust these to be exactly 0 & 1 respectively.  The crazy parameter name really means "position along the line"  (don't worry about it, it does make sense once you get to understand the full possibilities)

Create another new family.  Could be "generic model adaptive" or "conceptual mass"  (I think)  Set up dimensioned ref planes as shown.  I did this in a front elevation view.  Place 4 reference points and lock them in both directions to the planes.  (Use the align command & close the padlocks that appear)

Just check that everything works.  Type in new values for each parameter & watch the points respond.  If they don't follow the ref planes, try locking them again.  Now you can use "spline through points" again to create a horizintal ref line & a sloping ref line.  We're almost there.

Select the lines & choose "divide path".  You'll get 6 nodes.  Do this for both lines.  At this stage each line has become 2 things at once: the original ref line AND a divided path.  You can use the tab key to toggle between these two personalities.  The divided path has a "number of nodes" property.  You can hit the little secret button at the end of the line to link this to a parameter.  I created one called "no of slats" because I'm going to load my 2 point adaptive family and attach it to these nodes.

When you select this slat, a little "repeat" button will appear on the ribbon.  Hit this and it will populate the repeaters.  That's it.  We have an adaptive family with 3 dimension parameters to control the shape, and a "no of slats" parameter to control ... the no of slats.

Try different values to check that everything works.  This is called "flexing" the family.

And my final image shows the parameters that are available.  I already mentioned the ones in the host family, but you also have 2 dimensions and a material in the slat family.  (I forgot to mention creating the material parameter ... you just select the form and hit the little secret button at the far end of the material field under properties)  Hope someone finds this useful. 

You can download a copy of the family from here:   SCREEN.RFA



  1. Excellent tutorial! It's so hard to follow all the steps when you are excited to see the finished project but it's worth it!

  2. Good technique, but I would have just used the curtainwall tool and edited then elevation profile...done in 2 minutes ;) (Create Curtainwall tpe with Vertical mullions and grids only at preferred maximum spacing, set Empty system panel as curtain panel; create wall, offset base and top as necessary and edit elevation profile).

  3. Thanks Dave, you're right of course. The strange thing is that I've used that curtain wall technique before, but it didn't spring to mind this time. Sometimes the temptation to be "clever" blinds us to a simpler solution.

  4. I got stacked when I tried to repeat the slat. Couldn't find the 'repeat' button. Does anybody have an idea of what is wrong with my model? I'm using Revit 2013. Thanks!

  5. I managed to find the 'repeat' button, (in the array command). now the problem is that the repeated elements are are attached to opposite points, so all of them are diagonal. Any idea about how to solve this?


I've been getting a lot of spam so had to tighten up comments permissions. Sorry for any inconvenience. I do like to hear from real people