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.

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!

Monday, July 29, 2013

Template Tips

The standards of templates and content are symbiotic. That is, the standards of one are dependent on the other. Providing content without also providing a template is like shipping doors and windows to the wrong project site. They may have value as doors and windows but not on this project currently under construction.

Templates and content properly developed can also significantly reduce (but not eliminate) the scope of training required for new staff. Without a proven template you will find yourself with a lot of staff asking how to configure object styles, line styles, view graphics, and many other settings that should be automatic.

Authoring a first library of templates, content, and standards is a big effort... but so worth it!

Thursday, June 27, 2013

Design Options & Phases: Post #1

The use of Design Options and Phases is similar.  Some of the same challenges are present that I believe shared concepts can solve. This post assumes you already have some exposure to the Design Options and Phases tools and that you think the Split Element and Linework tools are the only tools available for exploring design options and phases.

MANY CONTAINERS: I'm sure you're aware that when you place an element into a view it is always relative to some reference (A workplane, a reference plane, a level, a host, a face). Well, did you also know that when you place an element into a view it is typically going into three "containers" at the same time?
  • A Workset container (ex. Workset1)
  • A Design Options container (ex. Main Model)
  • And a Phase container (ex. New Construction). A phase container is different in that an element can cross-over into other phase containers (see phase created/phase demolished parameters)
USING SPLIT ELEMENT AND LINEWORK: Most beginners will split walls to explore new wall shapes in design options or to explore additions/reductions to as-built walls, because the split element tool is just so easy to use and looks great in my plan view!

Well, if you are doing that on a very regularly basis you will get to be best friends with another tool in Revit... the Linework tool, particularly when you're trying to keep up with all the elevation cleanup issues that can result from continuously splitting walls with every study. The split element tool IS great if you are deleting a split off wall or changing the wall type of the split off wall, but you might consider an alternative to the Split Element tool if you are using it to explore design options or a proposed remodel on a wall that is really the same wall type from end to end and floor to ceiling.

ACCEPTING REASONABLE REDUNDANCY: If a wall type is consistent from end to end, consider copying the wall and it's host doors/windows into another container and reshaping, rather than split (a split is restricted to vertical & horizontal lines anyway).  A wall split into 7 walls... of the same type... in the same plane... and trying to join geometry in the same container can cause unwanted elevation cleanups, while a reshaped copy means just two walls in two separate containers... no multiplying of connection cleanups to deal with in elevations later (not really redundant because elements are separated into containers).

Because you now have a copy of your wall in another container you can now freely reshape that copy as often as you need, with every design change, all while preserving the integrity of your proposed and as-built elevations, thank you very much!

Keep in mind that when you copy a wall into another design option or phase container it will also copy all families cutting it & possibly any sweeps/reveals hosted on it.  Obviously the more families you build that are cutting the wall the more unnecessary redundancy you will run into.

DESIGN OPTIONS REDUNDANCY: Copy a wall into another design option container and reshape. There will be some redundancy of doors/windows in the design option scenario, which is ok, because at the end of the day all but the one design option will be deleted anyway (teaser: secondary design option walls DO cleanup at intersections with the main model walls if you are willing to accept some redundancy at variable intersections. If you give up, there's always the Linework tool ;) Remember to include rooms as part of both design options if the room boundary is expected to change.

PHASES REDUNDANCY: Copy the wall into a future phase container, demo the as-built wall, and reshape the proposed copy. There will also be some redundancy of doors/windows in the phased remodel scenario, which is ok, because renumbering of doors/windows and overriding of plan graphics with view filters and filled regions is manageable. We expect to be cleaning up plans anyway... we would rather elevations and perspectives mostly cleanup themselves.

Having a demo phase has helped me to sort out the required filters here, but "this can all be done without a demo phase." Yes, you heard me right.

THE BEST PART: Your as-built model is also preserved and intact in the active model, should you need to update it to benefit proposed plans or to reprint a clean as-built set later.

At project completion, the deleting of demo'd elements and combining of phases into a presentable and final record model can result in a pretty darn clean final product (if you haven't been splitting walls on the same model for 18 months).

And, if you want to explore design options and phases in the same model and you're really worried about someone accidentally deleting elements of an as-built model as proposed changes move forward, consider grouping and pinning the as-built model before proceeding with design option studies and phases (hint: you can still demo elements of a grouped and pinned as-built model, without someone accidentally splitting them ;)

More to follow...