October 26, 2009

Equal Lights Republished

A little over a year ago, I contributed an article to the AU Quarterly Newsletter on creating equal lights in Door/Window Assemblies, Curtain Walls and Curtain Wall Units. Unfortunately, when the AU Online site was overhauled last December, the links to articles from previous newsletters were lost. For those who never read the article and those who have forgotten its contents (including me), here is the article. If you are interested, a drawing file that has the Door/Window Assemblies used to generate the images below, along with some other experiments done while writing the article, can be found in this post in the AutoCAD Architecture Content Discussion Group.

Equal Light Openings With Door/Window Assemblies and Curtain Wall Units

You might think that creating Door/Window Assembly or a Curtain Wall that has equal light openings is a fairly simple task – set up a Division with a fixed number of Cells and you should be good to go. The same technique should also work if you wanted to use a Curtain Wall Unit to subdivide those equal Cells with “muntins” to get equal light openings between muntins. You could then place the Door/Window Assembly or Curtain Wall at any size and have equal light openings. While you can achieve the desired results, it will take a little knowledge and some additional effort.

There are two reasons why it is not quite as simple as we might like:

  • The “equal” in equal Cells refers to the distance between grid lines. Unless offsets are applied to the Frame or Mullion, the outer grid lines occur at the outside edge of the Frame, while the inner grid lines are centered on the Mullions. This means that the light opening of the start and end Cells will be reduced by the full width of the Frame, plus half the width of a Mullion, while interior Cells will only be reduced by the width of a Mullion. If both Frame and Mullion are the same width, the Start and End Cells’ light opening will be less than the light opening of the Middle Cells.
  • The grid lines of a nested Curtain Wall Unit are spaced evenly, based on the location of the parent Door/Window Assembly or Curtain Wall grid lines bounding that Cell, not on the light opening of that Cell. The Frame of the Curtain Wall Unit will be located at the light opening of the Cell, but the locations of “equal Cell” Mullions may not generate equal light openings in the Start, End, Top or Bottom Cells.
Figure 1
Equal Cell Door/Window Assembly with Equal Cell Curtain Wall Unit Infill
Blue Dimensions – Gridlines; Red Dimensions – Light Openings (Typical in all Figures)

If you keep the above in mind, it is possible to create equal light openings, and we will take a look at some techniques to do so, starting with the outer Door/Window Assembly or Curtain Wall, and then looking at the impact those choices have on a nested Curtain Wall Unit. A Door/Window Assembly will be used for these examples, but the techniques also apply to Curtain Walls.

There are several ways to generate equal light openings in the parent Door/Window Assembly or Curtain Wall.
  • Frame Offset: This might be acceptable for a Curtain Wall, since it does not create its own opening, although the Curtain Wall’s overall length and height will not represent the overall Frame dimension. For Door/Window Assemblies that are anchored in a Wall, offsetting the Frame pushes it into the Wall, leaving part of the Frame buried in the Wall, which is not acceptable.
  • Mullion Offsets: By creating multiple Mullions with varying offsets, assigned to the proper locations, equal light openings can be created. For example, three equal openings can be created when the Frame and Mullion widths are equal by setting up a vertical Division with three equal Cells and then creating two Mullions, each offset by 1/6 of their width toward the middle, resulting in each Cell losing 1-1/3 of the Frame/Mullion width. This can get rather complex when there are five or more equal openings to be created.
  • Start/End Division Offsets: This is the easiest method, and can also accommodate the case where the Frame and Mullion dimensions are not equal. Simply subtract one half the width of the Mullion from the Frame width and use that for both the Start Offset and the End Offset of the Division. This will make the Start and End Cells wider than the Middle Cells, resulting in equal light openings no matter how many Cells are specified, without the need to create offset Mullions.

Figure 2
Equal Cell Door/Window Assembly with 1.5 Start and End Offset

For a Simple Panel, Door or Window Infill, using the Start/End Division Offset method is the way to go, as these elements will be sized to fit the light opening of the Cell in which they are placed. If you can achieve your desired Muntin pattern by using the Muntins in a Window Style, that may be the best way to get equal light openings in a style that works for any overall Frame dimension, using a single Infill style.
Figure 3
Equal Cell Door/Window Assembly with 1.5 Start and End Offset
Window Style Infill with 0 Width Frame and 1 Width Sash and Muntins

If you need the greater control over spacing that using a Curtain Wall Unit for Infill can provide, there is a small problem with using the Start/End Offset method – the applied offset makes the outer Cells wider, but does not move the grid lines from the outside edge of the Frame, so the same Curtain Wall Unit Style can not be used for all Cells. (The Mullion Offsets method may also have the same problem, because the light opening is likely not centered on the gridlines in all of the Cells.) Fortunately, two copies of that Curtain Wall Unit Style, one with a Division Start Offset and one with a Division End Offset equal to the Offsets applied to the parent object can be quickly created, assigned to an Infill and used in the Start Cell and End Cell respectively. This gives you the look you want, while maintaining the flexibility of being able to change the overall Door/Window Assembly dimensions.
Figure 4
Equal Cell Door/Window Assembly with 1.5 Start and End Offset
Curtain Wall Unit Style Infill – Three Similar Styles:
1.5 Start Offset in Start Cell, No Offsets in Middle Cell, 1.5 End Offset in End Cell
(3.5 Offset Top and Bottom at Horizontal Division, All Three Styles)

Here is an example of a more complex muntin pattern. A series of nested grids, all using a fixed number of Cells, was used to create the pattern. Start and or End Offsets were applied as needed to get the equal light openings shown. This can be a little tricky to set up, since the nested grids for the Start and End Cells also need to have offsets applied, but once you have it set up, you can create a Door/Window Assembly with any overall length and height and maintain equal light openings.
Figure 5
Equal Cell Door/Window Assembly with 1.5 Start and End Offset
Curtain Wall Unit Style Infill with Offsets Applied to Multiple Divisions as Necessary

October 20, 2009

Revit - Modify Group Origin

This will likely not be news to long-time Revit users, but after a couple of months of Revit use, I discovered this feature today. The project on which I am working has a number of pairs of identical patient rooms, which another team member set up as Model Groups. The rooms are arranged along the curved exterior of the building, so each group is rotated slightly from the adjacent groups. After working through several design iterations, I was trying to get the "final" design drawn accurately and to get the adjoining Walls to clean up correctly. I was frustrated by the lack of an exposed coordinate system or the equivalent of an insertion point in Revit. I also found it annoying that I had to continually repostition the rotation point when orienting each Model Group.

It turns out that there is an "origin" for Model Groups and that origin is the default rotation point for the group. Somewhere along the line, the origin of our Model Group got moved off to a random point within one of the rooms. Fortunately, it is quite easy to relocate the origin point. (Which probably explains how it got moved to such a strange place - it is almost too easy to move it.) Simply select an instance of the Model Group in a Plan or 3D view. As shown in the image below, in a Plan view you will get two axes, labeled "X" and "Y", with three grip points. Click on the grip point at the intersection of the axes......and drag the grip......to the point where you want the origin placed and release the left mouse button.I used an intersection snap [SI] in the example in the screen captures to be certain it was placed accurately. The grips at the "arrow ends" of the axes allow you to rotate the axes, if you want to change the angle at which the Model Group initially inserts.

One small step on the road to Revit enlightenment; one giant reduction in frustration.

October 01, 2009

Revit Praise #1 - Parametric Families

Today was a really, really bad Revit day, but it would be churlish of me to say only bad things about Revit® Architecture, when that does not reflect my opinion of the software on most days. I realize that much of my struggle can be ascribed to a combination of my inexperience with the software, the overly demanding nature of the geometry of the building for which the fitout is being done and "issues" with the linked Revit files for the building, done by another firm and outside of my ability to control or improve.

So lets focus on a strength of Revit that I find quite fascinating: the ability to create custom components that are driven by parameters. This past August I had the good fortune to be able to take Paul Aubin's on-line Mastering the Family Editor, a series of five one-hour, on-line training sessions covering the use of Revit's Family Editor. (See Paul's website for current offerings. It was my understanding that he plans to make recordings of sessions available, for a fee, to those who did not sign up for the live course, but I did not see a link for this particular course as of tonight.) By setting up parameters, you can get the same graphics to "flex" to multiple sizes ("types", in Revit terminology) without the need to create multiple styles, as you would with a Multi-View Block in AutoCAD® Architecture.

Armed with that excellent knowledge, I was able to create two families for accessible shower seats (one each for rectangular and L-shaped). Each family currently has two types - one for the maximum seat size allowed under ICC/ANSI A117.1 and one for the minimum size. The images below show the plan views for the two families. The origin point for the component is at the upper left corner. The green dashed lines are "reference planes", and the top and far left ones are designated as defining the component's origin (the corner of a shower). The reference planes do not show when the object is placed in a project, but within the family, provide a framework on which the 2D linework (used here, to keep file size down) or 3D objects can be locked.
Square Shower Seat

L-Shaped Shower Seat
(Click on any image to see a full-size version; use the back button in your browser to return here)

The dimensions with text are the parameters and in this case are all type-based. Each type created can set a different value for each of these dimensions. The dimensions with numbers only are fixed dimensions, which maintain desired distances between two reference planes when one is moved by a change in a parameter value. In this case, I chose to make the maximum allowable distance off the back and side walls fixed dimensions.

The blue double arrow icons are controls that allow the graphics to be "flipped" to cover opposite hand situations. Adding these is as simple as selecting the Control tool on the Design bar, choosing the Control type on the Options Bar and clicking in the plan view window to place the Control. (I am currently using Revit Architecture 2009; the process in 2010 may be slightly different.)

One might argue that with only two types in each family, this is a bit of overkill. Other types, based on specific manufacturer's dimensions, could easily be added. (The elevation views also have a Height and Thickness parameter to drive the location of the top of the seat and the thickness of the seat.) The point here is to show some of the possibilities. Components that have the same basic shape, but many possible sizes - for example, Doors - allow a single piece of content to have many types, representing the range of available sizes. By carefully setting up reference planes and parameters, you can add as much control to your custom content as you need, rather than having to make a custom Profile or View Block for each size or live with having a single Profile or View Block being scaled to the overall width/height, as you would have to do in Architectural Desktop.

Using type parameters allows you to build-in standard sizes, which is appropriate for items that are manufactured to certain, predetermined sizes. Parameters can also be made instance-based, if you want to be able to set the parameter value for each instance, which would be appropriate for content that is built-to-order.