Adding reporting parameters to curtain panels

In Revit 2011 we (finally) have something that I've been hoping for since I started in on the whole BIM thing. With the exception of things like old style curtain panels and beams, you could never get a placed family to tell you anything about the context that it was placed in. Lots of work has been done in the API with users trying to get doors and windows to "know" how thick the walls are that they are hosted in, and curtain panels have had this power, as long as they were flat, four sided and had all right angle corners. But now, we have the "reporting parameter", which is a labeled dimension that simply tells you what it is. "Hi, in the family editor I was hosted in a 8" wall, but over here in the project you placed me in a 6" wall, and over here I'm in a 12" wall. I'm good, schedule me, please".

But then, if you make your reporting parameter to "host" geometry (a concept I still have a shaky grasp of, loosely, geometry that was baked into the family before you got there) you can use that dimension to drive formulas. So, now your door family can not only tell you how thick the wall is that it is hosted in, it can adjust itself accordingly. "I'm in a 12" wall, so I'm going to be a six panel door instead of 2" or whatever.

So in these two videos, I'm going to show how to apply reporting parameters to a curtain panel by pattern and use that information to schedule and drive geometry. The first is simple length dimensioning, the second is slightly more complex, dealing with angular measurement.


  1. Hi Zach,

    How do you open Properties right over the project browser and how do you change Create Ribbon into Home and how do you customize your ribbon? Thanks for the great video.


  2. This is the 2011 release, showing the default layout, so it has UI features that won't show up in 2010.

  3. Hi Zach, I can't seem view the video clips that were on this page. Have they been removed?

  4. Hi Elmo,
    The videos are still there for me . . . are you on an iPhone or some such? They are Vimeo videos, so mobile safari probably isn't going to like them.

  5. Hmm, not sure. Went on today and now they available. Pretty strange. Must be my firefox.
    Either ways, thanks for the awesome info. :)

  6. very good info.

    thanks zach...voted for your classes at AU.

  7. Zach,
    Your second video is titled "Adding Angular reporting parameters . . . " but you don't actually show using the angle as a reporting parameter. When I try it, it lets me turn it into a reporting parameter, but if I then try to use it in a formula Revit says "A Reporting Parameter can only be used in a formula if its dimension references are all to host elements in the family". For linear reporting parameters you have made them "robust" by dimensioning to the adaptive points, but how is that possible with an angular dimension?

  8. HI Tim,
    Yes, I guess I left out the final part of assigning the parameter, sorry about that. The process is the same as in the previous video for a linear, and using the process I showed, you should be able to get a robust angular reporting parameter that can drive formulas. But keep in mind, it only works for Curtain Panel By Pattern families as this is the only family that has baked in reference lines that will accept these stronger reporting parameters.

  9. Thanks Zach,
    I was trying to use the same technique on a stand alone adaptive component - hence why it would not work. It seems that many of your clever techniques work on curtain panels but not on the new stand alone adaptive components, which is a pity as it will limit their usefulness. For example, I tried nesting an ordinary component into an adaptive one, but could not get the component to lock to adaptive points or to align to the direction (angle) between two adaptive points. Rebuilding all that geometry and parametric capability directly into the adaptive component is going to be tedious.

  10. Hey Zach,

    I know this post is very old but I wasn't sure where I could post a question that I could use some help on. I have always followed your blog and videos as there is not a better resource to get revit to push the limits.

    My question is about reporting parameters. I hoping that you can make a schedule that identifies each panel then its length and width. The schedule would look like this

    Family Mark(Automated) Length Width

    My hope is to give our curtainwall manufacture a schedule and an elevation relating to each other to get each panel size.

    I have not seen any schedules that will automate a unique mark for each panel to relate too. Any help you could off would be great!

    Thanks hope you have a time machine!


  11. Hi Pete,
    I'm starting to sound like a broken record here, but Dynamo is going to be your best bet for automating this sort of thing. Download it and check out the Revit sample for PlaceFamilyByLevel_SetParameters. You would want to read the reporting parameters out and then write them back in to the Mark parameter.


Post a Comment