Thursday, March 31, 2011

Family Abuse - Curtain Panel By Patterns Edition

I cut my teeth in this BIM thing using Architectural Desktop (ADT).  I loved that program a lot.  I still have a real fondess for it, but that's a moot point for this column.  At my first AU conference, i saw a presentation about using RAIL objects to model any type of repetitive, linear element.  I loved the concept and quickly started playing around.  But all that is old news now...

I struggled for a while trying to figure out how i could use the same "RAIL" logic of modeling repeating linear elements in Revit.  It seemed to me that the rail tool in Revit is a bit more rigid in what type of objects it accepts....maybe i am not looking close enough...and then one day POW! It hit me like a bolt from the blue.  CURTAIN PANEL PATTERNS could be the way!

First thing I did to test out this theory was to create a reference line CURVE BY POINTS and then hit the CREATE FORM button to give myself a surface.  I divided the surface and it looks like this:

Because i made sure to use a Reference Line, I can grab any of the driving points and adjust the curve manually later.  These points could also be parameter driven if you want that kind of control.

The next step involves creating a Curtain Panel Pattern based upon the RECTANGLE template.  Zach and Robert Manna did a great presentation at AU last year that involved a good discussion on how to control the behavior of the reference points.  You will need to understand this behavior in order to make this type of model work.  Go download the handout here:

Au Bon Panel: Baking Your Own Adaptive Components and Panels with Revit

The bit I am concerned with starts on page 6.  Have you looked it over?  Good.
In this case I am making a linear canopy.  I like using nested objects so I went ahead and made a generic mass to act as the repeating vertical element.  2 things to notice in the image below:

1) The object is being built in plan.  This is because of how i planned to mount it on the reference planes in the curtain panel.  The lesson is that in this exercise UNDERSTANDING YOUR HOST PLANES, HOST POINTS AND ORIENTATIONS ARE CRUCIAL!!!

2) The top mass is transparent so you can see the line work I drew.  These lines will control the shape and location of my glazing panels and horizontal mullions.  Its easier to set up any desired sectional parametric relationships hereTrust me!

Now if you have read Zach and Robert's Handout, you will be very clear of about whats going on in the picture below.

1) I set up the offsets for the reference points as they describe.
2) Then i connect the offset point to the adaptive point upon which it is hosted with a reference line.
3) Host a point on that reference line
4) Host my generic mass on that point, in proper alignment.
5) Create reference lines on any section guidelines and create desired horizontal forms.
6) Try again because I did it wrong the first time (repeat as needed)

Load that into the curved surface family, apply it to the divided surface and once you have done it all properly... you'll get this:

When I did mine, i noticed that the end pieces looked funny.  That condition went away when i adjusted the border tile settings:

And once you get it sorted in 2d, you can pull the curve's driving points vertically....

Download the family here:
Curtain Panel Canopy Model.rfa

And the stage is now set for The REVIT ROLLER COASTER Plug-in...I hear its in the works for the 2013 release...


  1. Very nice! thank you for your hard work! / konrad @arch_laboratory

  2. Now another thought for you: If instead of a single surface for your host, you could have used a three-sided (or more!) sweep. Then your adaptive component could be a 3-point placement component (or more, depending on driving geometry). Then the top edges of your canopy could be adjusted to undulate up and down by controlling the edges of your host form.

  3. Very slick.

    One thing you could do to clean the model up a bit where the posts overlap, is to apply an On/Off instance parameter to one of the posts in the Curtain Panel Pattern Based family. Make sure it's turned Off by default.
    This way you don't get any overlaps happening, and you only have to manually turn the On/Off parameter On for the last instance.

  4. Sexy! Just had one thought when I read this part...

    "These lines will control the shape and location of my glazing panels and horizontal mullions. Its easier to set up any desired sectional parametric relationships here. Trust me!"

    How about using a NESTED divided surface to parametrically control divisions in the glass??