Friday, January 29, 2016

It's great to be a beginner again.
10 years was a good run but I have moved on to other projects.

Thank you for following.

Wednesday, January 07, 2015

Independence for Elevation Marks Everywhere

This was a nice way to start off my New Year.

Let's say you have a water closet. The interior elevation mark fits fine in a 1/2" scale enlarged plan, but on a 1/4" plan the mark obscures the room.  So, on the 1/4" plan, you move the interior elevation mark outside of the room and use a simple leader to indicate that that mark references that water closet (image below). Now you go back to your 1/2" plan and discover that when you moved the elevation mark in one view it moves the mark in all the views!  Bummer.

There are several solutions to this problem:
  1. Only use interior elevation marks in 1/2" plans
  2. Create a dummy tag with open parameters that you can manage manually, or
  3. Duplicate the mark and hide the unwanted duplicates using... Design Options? Yes.
 The steps for solution #3 are as follows:
  • Create a new interior elevation mark with the 4 elevations you want.
  • Place another new interior elevation mark, this time with the "Reference other view" option checked, and choose one of the four elevations you wish to duplicate.
  • Once placed, enable the other three views on that tag one at a time (you will be asked to reference three more views).
  • Copy the duplicate into all the plan views that require a duplicate.
  • Now that you have a duplicate elevation mark, you can hide in view by element...
  • Or better yet, create a new Design Option Set with two (or more) design options, select the center of the elevation mark, change the "Visible in Option" parameter for the mark from "all" to a design option...  and in the view's Visibility/Graphics (or the view's View Template) set the view to display the design option as required.

Notes: The focus of this example is on elevation marks, but the  "Visible in Option" parameter is also available in Callouts and Sections. Also be aware that if the crop boundary in the elevation view disappears it's probably because the mark was put onto a design option.

Friday, October 10, 2014

Schedules Basics & Tips


Types of Schedules:
  • Schedule/Quantities Schedules: Schedule placed (and modeled in-place) families
  • Graphic Column Schedules: A graphical schedule of structural columns
  • Material Takeoff Schedules: Schedule materials in the project
  • Note Block Schedules: Schedule placed instances of a generic annotation family
  • Sheet List Schedules: Schedule sheets in the project
  • View List Schedules: Schedule views in the project
  • Embedded Schedules: In Schedules of Spaces, Electrical Circuits, Piping Systems, or Mechanical Systems
  • Key Schedules: Key in typical parameters to quickly populate large schedules of the same category
  • Keynote Legends: Keynote elements from a predefined list of Key Values & Text
  • Revision Schedules: Live in the titleblock families


There are a heck of a lot of cool ideas out there for schedules.  This post is a small fraction.

1.  Need to identify what type or category of schedule you are looking at?
  • In the Properties of the Schedule, edit “fields.” The type of Schedule is in the title of the window and the categories is often in the "Select from available fields" dropdown.
  • A Key Schedule will have an additional Parameter in the properties called "Parameter Name.”

2.  Is a Shared Parameter necessary?
  • Usually when you introduce a .rfa file (ex. tag or component) a shared parameter is necessary to tag or schedule the parameter. However, Generic Annotation families do not need to have shared parameters, to populate a Note Block Schedule.
  • In addition, a value that schedules for a system family does not need to be a shared parameter, unless you are also tagging it (.rfa).

3.  Are you using a Shared Parameter in a tag or component and you're having trouble referencing it in your Key Schedules? 
  • Key Schedules will not support them. Consider FINALLY using those Hard-coded parameters that come with Revit families OOTB.  They ARE available in both tags and Key Schedules.

4.  Is text wrapping for your General Notes or other text (placed with the Text Tool) giving you grief? 
  • Consider creating a Key Schedule (preferably from an unused category). You will have all the flexibility of Schedules (and even access to some of the new enhancements).

5.  A material is in the model but you can't find it in the Material Takeoff Schedule? 
  • Materials applied with the Paint Tool are excluded from a Material Takeoff Schedule

6.  A material is in the Material Takeoff Schedule but you can't find it in the model?
  • Right Click and select "Show" to find where this item is in the model

7.  Want to manage in bulk the "issue dates" for sheets or the "title on sheet" for views?
  • Consider creating Sheet List and View List Schedules for internal QC

8.  Want to link an Excel File into Revit?
  • In Excel, Isolate just the portion of table you would like to import
  • Save as xls or xlsx
  • In AutoCAD, Create a table (command “TABLE”)
  • From a Data Link
  • Create a new excel data link
  • Browse to location of excel file
  • Select Excel sheet to link
  • Say OK and place in model view
  • In Revit, Create a new LEGEND view with scale set to 12” = 1’-0”
  • Link your dwg file into Revit
  • To Update your schedule
  • Make a change to the excel file and save
  • In the AutoCAD file, right click on table and “Update Table Data Links” and save
  • In Revit, Manage links and reload the DWG file

9.  Want to Calculate Costs for Material Areas or Volumes?

Formula examples:

  • QTO_Calc SF = yes/no parameter
  • QTO_Calc CF = not(Material: QTO_Calc SF)
  • QTO_Unit Cost = currency parameter
  • QTO_Unit Total = if(Material: QTO_Calc SF, (Material: QTO_Unit Cost * Material: Area / 1 SF), (Material: QTO_Unit Cost * Material: Volume / 1 CF))

Practical Repeaters

It's never too late to learn about Conceptual Massing, Adaptive Components and Repeaters.

Monday, October 06, 2014

Family Array Basics & Tips

  • In the Family Editor you can Array a geometry or nested family (ex. linear or radial)
  • Always group and associate to assign an integer parameter for the array
  • Move to 2nd or Last depending on how you will dimension and calculate the Array
  • After an array, select an instance of the new group and then the array "dimension"
  • Assign a "Label" in the options bar to control the array count with an Integer Parameter


1. It's not uncommon for a family content builder to parameterize the array count and then leave the count open for the end user to flex.  Consider adding an Optimal Spacing parameter so that when the length of the family is flexed, the spacing between shelves, muntins, rafter tails, etc. remains a desirable constant and let Revit calculate the Array Count.  The designers will love you.

Not good enough? For scheduling (ex. rafter tail counting) make the Array Count a shared parameter and the PMs will celebrate too.

Formula examples:
  • Optimal Spacing = a default "Length" value for the office standard
  • Array Count = (Length/Optimal Spacing) + 1
2. Ever need an array count of 1? There are a number of ways to do this:
  • Offsetting the first and last instance of an array (toward the center of the array) with an Offset Array parameter, so that the first and last overlap in the center when the array count is equal to 1.

Formula examples:
  • Optimal Spacing = a typical "Length" value for the office standard
  • Array Count = (Length/Optimal Spacing)
  • Array Count True = If(Array Count < 2, 2 , Array Count)
  • Offset Array = if(Array Count < 2, (Length / 2), 0')

  • Other Possible Solutions:
    • hiding the first and last element of the array in the geometry of another element like muntins in the stile of a wood panel door
    • Using yes/no parameters to visibly turn off the array and turn on a single instance when Array Count = 1

3. Are you getting errors when you try to model 2 arrays in the same family?
  • Create the arrays in separate families and nest them into a host family

4. Are your muntins, shelves, or other crossing element arrays giving you the tic-tac-toe (#) look at an intersection? Does a join geometry not always work for you?
  • Consider adding a slight curve to the front and back of your muntins/shelves and don't join geometry
    • might also be helpful for many railing family intersection challenges.

Tuesday, May 20, 2014

Attaching a wall to a stair

For those of you trying to attach a curved wall to the underside of a stair:
1. Model a stair and a wall (stair hidden below)
2. Model an in-place family of the floor or roof category (shown below)
3. Use extrusions for steps (ex. below). Use a swept blend for a sloping ramp or monolithic stair
4. Attach the top of wall to this in-place family
5. Set the in-place family as temporary (ie. phase created and phase demolished are the same)
I'm sure you can imagine many more uses for temporary elements.

Monday, May 19, 2014

Rooms that travel incognito

If you've ever worked on a split level home or other structure you've probably noticed that Revit won't let you freely change the grayed out level instance parameter of placed rooms the way you can with most other placed families.

My workaround to this problem always involved cutting the room from one view and pasting it into a view with the desired associated level.  This method usually renumbers the room creating a duplicate "not placed" room in the room schedule and usually also requires the tagging of a room again.

If you'd like to keep a room number and the tag, consider grouping the room first.  You should now have access to the level in your model group instance properties to re-host rooms at will. A room disguised as a group can apparently defy gravity.

EDIT (05.23.2014): Luke Johnson points out that this method does assign a new element ID.

EDIT (03.11.2015): Rather that cutting the room from one view and pasting it into a view with the desired associated level, which creates a duplicate room, consider deleting the room from one view and placing the same room again from your options bar dropdown of available rooms.  Room Number and other parameters are still present, you lose your room tag and need to open another plan view, but you preserve your Element ID.

Tuesday, January 14, 2014

Bypassing Edit Group Mode

In the example below I've grouped and pinned the as-built model... proceeded with demoing a door (infilled on the right) and wanted to show the finishes as all new on this existing wall.

Phase filters wouldn't get me there, but Parts works if you're at a stage where you don't mind managing parts on a project.

In this example I choose to apply a view filter (by project parameter) to get the proposed plan graphics the way I needed to for many remodel scenarios while keeping the model simple for design changes that were fluid. But in Revit 2013 I've always had to Edit Group to apply the parameters, and I've always preferred to bypass Edit Group Mode (like I can for "phase created" and "phase demolished") for a number of reasons, while still taking advantage of groups.

Here is a new feature in Revit 2014 that helps to make this more possible.

If you've grouped your model in part or in whole you might notice many parameters are disabled and can not be edited without first entering Edit Group mode. Well... in Revit 2014 you can now Manage.. Project Parameters... and change a setting that reads "values are aligned per group type" to "values can vary by group instance." Now TAB to an element that is part of the group and the parameters should be available to you in the Properties window.

This is pretty handy if entering Edit Group mode (ex. for a large model group) every time you want to edit parameters (ex. to benefit view filters - image below) is a hassle.

Existing stud wall - New infill wall - New finishes
No Parts applied to this example
Existing and Infill wall are same wall type

Wednesday, January 01, 2014

Fireplace Flues

Happy New Year!

And for those of you with Revit MEP or the Building Design Suite... There is a very nice YouTube video on rolling offsets.

Tuesday, October 29, 2013

Design Options and Phases: Post #2

This post assumes you already have some exposure to the Parts tools or that you think the Split Face and Paint tools are the only tools available for defining scope of materials.

MORE CONTAINERS: Think of the Parts tool as yet another container... an instance of a family is duplicated in two containers... (Original vs. Parts).

USING SPLIT FACE AND PAINT: Parts are a nice alternative to using the split face and paint tools, a workflow that, in my experience, does not behave well with changes to the main model and other Design Option sets.  Split face sketches can get deleted (or moved) and painted surfaces can, often without warning, bleed onto adjacent faces.

PARTS REDUNDANCY: Create Parts from an original wall. You will end up with two walls in two separate containers (Original vs. Parts). Keep in mind that Parts, Design Options, and Phase containers are nice in that clash errors do not occur when used properly. Try using your Workset containers to study design options and you'll run into many clashes/warnings.

Parts (or layers) of a wall, floor, roof, ceiling and other categories can be:
  • DIVIDED for breaking up layers of a walls, floors, etc. (ex. for defining variable finishes on an elevation/plan)
  • EXCLUDED for very specific scope of finish applications (ex. where wall finish meets a sloping grade)
  • DEMOLISHED for removal of existing finishes to make way for a new finishes

THE BEST PARTS (no pun intended): Add the original wall to two or more design options and you will find that you can now divide, exclude, and demo parts... within Design Option containers!

If you are just replacing the finish layer for a remodel consider dividing the finish into two parts, reshaping them both to the shape of the original...  it's ok if the finishes overlap ;) and set their demo/create parameters as independent of the original. "Show Shape Handles" to change the thickness of your proposed finish.

Every view can be set to "Show Original," "Show Parts," or "Show Both."

Show both is quite nice when the Parts category in Object Styles is set to line weight (1) for projection AND cut and your plan view is set to "coarse". The Object Styles of Original elements will override the Object Styles of Parts "when both are present" so don't feel like you have to pick one or the other.

This in mind, you can also combine solid and line patterns when you "Show Both".  Try making your Original material solid fill grey and your Part material any line pattern.  This works in cut and projection ;)

In addition, you can quantify for the area and volume of parts in material takeoff schedules, resulting in more specific takeoffs than what you would achieve in the scheduling of Original elements only (ex. separating an insulated stud layer from a non-insulated layer of the same thickness).

There are many advantages to exploring the Parts container... and not just for construction modeling!