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.