I must admit, I don’t why I hadn’t picked up on this one before, but at RTC USA there was an interesting discussion that took place as well as being highlighted by Harlan Brumms in his class on solving common Autodesk Revit Architecture problems on using reporting parameters in curtain wall panel families.
This got me thinking, if reporting parameters can indeed be used in curtain wall panel families, they should be able to drive the depth of panels. If you can report the width & height of a panel, this will provide you with an area value. This could then be used in conditional formula which will parametrically alter the overall depth of individual panels.
For this exercise I started with a curtain wall panel.rft
Next I drew a very simple extrusion in the front elevation plan & locked the extrusion sketch to the reference planes.
I then dimensioned the vertical & horizontal reference plans. Its important you dimensions the reference plans & not the level embedded in the family.
Then select the horizontal dimension you just created & pick the label feature to turn the dimension into a parameter. Name the parameter to something like “width”, set it to an instance parameter & ensure you check the Report Parameter radio button.
Repeat what you did for the width parameter, turning the vertical dimension into a reporting parameter labelled as “height”.
Go to the Ref. Level view, select the extrusion; in the Properties Palette, locate the Extrusion End parameter, hit the Associate Family Parameter button.
This will open up the Associate Family Parameter dialogue box. Hit the Add parameter button & create a new instance parameter called “depth”. This doesn’t need to be a reporting parameter.
Go to the Family Types dialogue & create a new Area parameter as a instance.
Go back to the Family Types dialogue box & do the following; in the formula for the Area parameter we will multiply the width X height to give us our Area.
Next we will add a conditional formula to the depth parameter. So we will use this formula as a test example.
if(area < 4 m², 1200 mm, if(area < 6 m², 600 mm, 100 mm))
What this conditional parameter will do formula is allow the depth of the panel to change based on the resulting area value of the panel. If is less the 4m squared it will be 1200mm thick, less the 6m & it will be 600mm, else it will be 100mm thick,
Next save your panel family with a suitable name. Start a new project, load your newly created panel family into the new project. Using the wall tool draw a straight segment of curtain wall. With the curtain wall selected, go to the Properties Palette, pick the Edit Type button, this will open up the Types Dialogue box for the Curtain Wall.
Set the Curtain Panel to your new loaded curtain wall panel. The cw system will automatically file with the new panel. Finally, using the Curtain Grid tool, start to divide up the curtain wall.
As you divide the curtain wall, depending on the panel size, the area of the panel will be calculated in turn informing the depth of the panels.
The values I added to the conditional formula are not cast in stone, you can easily modify them to get different results or even make a more complex conditional formula. I have quickly knocked up a youTube Video which supports the above workflow, although I don’t follow it from start to finish, but it should reinforce what I did.