Two weeks after RTC Asia , it is time to review/reveal my class. The curtain wall class is a collection of the curtain wall tricks Philip Chan and I have been exploring for years. Some of those tricks are not outdated and still my favorite tools for placing repetitive elements and patterns. Using curtain wall tool to arrange auditorium seating has been one of the exercises in the basic class of the in-house Revit training in my office. Very simple set up involves just 4 steps:
- Nest a chair into Curtain Wall Panel family.
- Customize Curtain Wall with Maximum Spacing for Layout and Spacing equal to chair spacing.
- To make the next row of seats, offset the wall a certain distance.
- Set Base Offset of the wall to “jack up” the row of seats.
Recently, I am using curtain wall tool to lay out parking stalls in a project. It is not a brand new innovative idea but I did some new improvements to the method and I think it is worth sharing.
Line Based Family vs. Curtain Wall
To array elements linearly and parametrically, a simply line based family can do the job. Nest a parking stall family (shared) into a line based family. Array the element with the second member at a parameterized distance “Spacing”. Parameterize the number of array with “N”. Set a formula to relate N with Length and Spacing.
Load the line based family into a project. A row of parking stalls can be easily laid out by simply dragging a line. As the parking stall is a shared family, it can be scheduled.
However the level which each parking stall is placed can not be scheduled. Why?
A line based family is constrained by work plane instead of level, which allows the family to be oriented based on any line. As the parking stalls are nested inside the line based family, they are not constrained by level.
However, if a parking stall is placed individually instead of using the line based family, it is constrained by level and the schedule will show its location.
Another limitation of a line based family with arrayed elements is that it cannot place a single element, as the number of array cannot be less than 2. Revit will give error if the length of the line is less than Spacing resulting in N < 2
Here comes the play of Curtain Wall.
Curtain Wall Tool for Parking Stalls
As usual a parking stall family (shared) is nested into a Curtain Wall Panel family.
With the Curtain Panel and setting of Vertical Grid Spacing equal to the width of the parking stall, parking can be laid out with this curtain wall type.
However, if the length of the curtain wall is not exactly equal to multiple of the Vertical Grid Spacing, the last 2 parking stalls will overlap.
This is because the last panel has panel width less than the parking stall width and the parking stall is placed at the center of the panel, resulting in the last stall overlapping with the second last.
How to make the last curtain panel (parking stall) disappear?
Go back to the Curtain Wall Panel family. Select the nested parking stall family and associate its visibility with parameter “Stall Visible”.
Dimension from the Left Reference Plane to the Right Reference Plane and turn it into a reporting parameter “Panel Width”. Create a type parameter “Stall Width” which is equal to the parking stall width. Create another Yes/No parameter (instance) “Stall Invisible”. Set a formula for Stall Visible = not(Stall Invisible). Set a formula for Stall Invisible = if(Panel Width < Stall Width, 1 = 1, 1 = 0). As a result, the parking stall family will be always invisible when the Panel Width is less than the parking stall width.
Now load the Curtain Wall Panel family back to the project. Note that the length of the parking stalls is less than the length of the curtain wall.
Another Challenge: A Gap at Every Three Stalls
The column spacing is 8200mm = 3 x parking stall width (2500mm) + gap of 700mm. For every three parking stalls, there needs a gap where a column is located. Now, we have to set another curtain wall type with Vertical Grid Spacing equal to the column spacing (8200mm). Instead of using a Curtain Wall Panel family as Curtain Panel, use the curtain wall set up for continuous array of parking stalls.
As each curtain module is filled with a curtain wall of parking stalls which is cut off at 3 parking stall width, it creates a gap 0f 700mm for every 3 stalls.
Similarly, we can create another Curtain Wall Panel family for double loaded parking by placing 2 stalls inside a curtain panel. Using the Curtain Wall Panel with double loaded parking, we can create a curtain wall to lay out continuous double loaded parking. Again using this double loaded parking curtain wall as Curtain Panel in another curtain wall with Vertical Grid Spacing equal to the column spacing, we are able to lay out double loaded parking group of 6 with a gap.
Finally we can create rows of parking stalls of different types using the Curtain Wall tool.