Friday, July 10, 2015

Open to Favorites

Little things sure can make a big difference. 

If I have a job I will be returning to. I add a shortcut to it in my Windows Favorites. Then I rename the shortcut to include the project name and number. This is nice because when I use the Open command in Revit can navigate to Favorites then find my project.

Taking that one step farther, go to Options in the File Locations tab, change the Default path for user files: to your favorites folder. Now every time to click Open in Revit, it will take you directly to where your project shortcuts are.


Thursday, June 25, 2015

Hide Unused Sections, Callouts, and Elevations

When annotating sheets I often have to deal with more than enough callouts, sections, and elevations that have not been placed on sheets. They clutter the drawing and distract me.

To clear things up, a not so intuitive filter can be made. It employs quite a bit of double negative mentality, but does the job.

First create a new filter. In Visibility Graphics, go to the Filters tab and choose Edit/New....

In the lower left corner of the dialog select the icon that looks like a sheet of paper with a tiny Sun at the upper right. Name your filter something like "Hide Unused Sections and Callouts".

Under Categories select Callouts, Elevations, and Sections. Then Filter by Sheet Number. Make the rule "does not contain" then leave the next box blank.


This filter will find every callout, elevation and section that does not have a sheet number assigned to it. The ones that have not been placed on sheets.

Back on the Filters tab add the newly created filter and uncheck the visibility box.



Now no unused callouts, elevations or sections will be visible in your view. That's better. Get back to work.

Monday, June 22, 2015

Aligned Duct Tags

Want your duct tags to align to duct at all sorts of angles?

Duplicate your duct tag family, go to the family categories button and set the tag to "rotate with component". Save with the suffix "-Aligned" and use it when needed. That was easy.

Saturday, March 07, 2015

Revit Family Basics, The Bookcase Example

This article comes from my Revit Basics Blog which I have decided to shut down. It will help the beginner learn about making families by starting with a simple concept and progressively making it harder. It's not a light fixture, air handling unit, or custom sink, but it will put you on the path. Good luck!

In this example a bookcase family is required that a user can define the HxWxD. The number of shelves should be determined by the height, there should also be a control for the thickness of the material and the option to have doors on the bottom 3 shelves.

To gain the type of control needed, the shelves will have to be nested into the bookcase family. Nesting means the shelves will be an independent family that will be loaded into the bookcase family.

Build the Shelf Family
1. Begin with the Generic Model.rft template.

2. Unpin the 2 references planes in the template and uncheck the Defines Origin check box.

3. Add 4 reference planes to define the length and width of the shelf in the reference view. Set the Right and Back reference planes to Define Origin and Pin them in place.


4. Name the new planes (Front, Back, Left, Right) and set the Is Reference parameter accordingly.

5. Use the Extrusion tool on the Home tab to create a form for the shelf, locking it to the 4 defining planes.

6. Use the dimension tool to dimension the Width and depth of the shelf form.

7. Select the width dimension and pick the Label: drop down on the Options Bar, and then select .


8. The Parameter Properties dialog appears. Fill it out as indicated below. Do the same for the Shelf Depth dimension.
9. Switch to the Front view and create a reference plane to define the top of shelf. Name the reference plane, set its reference to Top and lock the top surface of the shelf form to the plane.

10. Set the shelf’s thickness to ½”. Create a parameter for Shelf Thickness as was done with width and depth.

11. Save this family as A-Fn Bookcase-Shelf.rfa


Build the Bookcase Shell
1. Begin with the Generic Model.rft template.

2. Unpin the 2 references planes in the template and uncheck the Defines Origin check box.

3. Add 4 reference planes to define the length and width of the shelf in the reference view. Set the Right and Back reference planes to Define Origin and Pin them in place.

4. Name the new planes (Front, Back, Left, Right) and set the Is Reference parameter accordingly.


5. Add 3 more reference planes to define the thickness of the back and sides of the bookcase.

6. Use the Extrusion and trace the footprint of the bookcase sides and back. Lock the faces of the extrusion to the reference planes.


7. Switch to the Front view and create a reference plane to define the top of bookcase. Name the reference plane, set its reference to Top and lock the top surface of the shelf form to the plane.

8. Create parameters for Bookshelf Height, Bookshelf Width, Bookshelf Depth, and Bookshelf Thickness the same way parameters were added to the shelf family.

9. Add “half” parameters for the bookcase width and depth. These will be used to keep the center planes in the center.

10.  Click the family types button to open its dialog.
11.  Group the “half” parameters under constraints and insert the formulas below to ensure they are always half of their parent lengths.

12.  This is a good time to flex the family by trying different dimensions in the parameters and checking that the geometry follows suit.

Add the Bottom Bookcase Shelf
The intent here is to add one shelf near the bottom of the shell and array it to the top of the shell. We can then create a parameter to determine the number of shelves in the array. That parameter can be driven by an equation that adds more shelves the taller the bookcase gets.

1. Begin loading the shelf family into the bookcase family and place it off to the side in the reference level view of the bookcase family.


2. Use the Align tool to lock the sides of the shelf to the inside planes of the bookcase shell and the front plane.


3. Select the shelf to access its properties. Here we want to create links between the parameters in the shelf to new parameters in the bookcase to control the shelf’s width, depth and thickness.

4. Select the grey box to the right of the Shelf Thickness to add a new parameter. Name it “Shelf Thickness (in case)”, make it an Instance parameter and group it under Constraints.


5. Do the same for Shelf Width and Shelf Depth.


6. In the Family Type dialog we can now create formulas to keep the shelves the correct size as the case changes. Create the formulas shown in the image below.




Creating a Swappable Shelf

To add another level functionality (or complexity) we can add a parameter that will allow the user to switch from one type of shelf to another.

1. Open the original shelf family and save it as the second shelf option. The shelf below has extrusions added to the bottom.



2. Load this new shelf into the bookcase family, but do not place it.


3. In the Family Types dialog create a new Type parameter named “Swappable Shelf”. Make its discipline Common, its Type of Parameter and group it under Constraints.



4. When you select the Type of Parameter Revit will open the Select Category dialog. Pick Generic Models.


5.  Select the original shelf in the bookcase family now. In the Properties dialog, look for the Label parameter and change it to “Swappable Shelf”.



6.  In the Family Types dialog Create 2 shelf types, Shelf Type 1 and Shelf Type 2. Associate the swappable shelf parameter with the appropriate type.




7. Flex the family. Change the family type and verify that the shelf changes.




Array the Shelf
1. Switch to the front view. And move the shelf up 3”. Add a reference plane to the underside of the shelf. Dimension this plane from the reference level and create a parameter named “Bookshelf Toe-Kick”.
2.  Use the Array tool with Group and Associate on and Move To set to “Last”. The array should go from the top of the placed shelf to the top of bookcase reference plane.

3. Select the group and associate line with the current number in the array. On the Options bar select from the label drop down and add a new parameter.


4.  Make it an instance parameter and group it under Constraints.


5. In the Family Types dialog add the equation below to place a shelf at about one shelf per linear foot.

6. Flex the family by changing the height of the bookcase, verifying that the number of shelves changes. Also flex the width, depth, and shelf type.

7. If the shelves lean out of plumb, use the Align tool to lock the upper most shelf in place.




Control the Thickness
For this family the user can input the thickness of the bookshelf, this will in turn drive the thickness of the shelves. Let’s create a formula that allows the user to input any thickness they want, however, if the thickness is less than ½” Revit should use ½” anyway. Conversely if the user specifies any thickness greater than 1”, Revit will use 1” only. If the user specifies any thickness in-between, Revit should consider this a fair value and use it directly.

This requires creating an Actual Thickness parameter and a couple of nested IF statements.


1. Create a new instance parameter and name it Bookshelf Thickness Actual. Group it under Constraints.


2. Apply the following equation to the new parameter.


There are essentially two parts to this nested IF statement.


If (Bookshelf Thickness < 0' 0 1/2", 0' 0 1/2", 


This first part states that if the Bookshelf thickness is less than ½” use ½” for the Actual thickness. If it is not, refer to the rest of the statement.


if (Bookshelf Thickness > 0' 1", 0' 1", Bookshelf Thickness))


The last part states that if the Bookshelf thickness is greater than 1” use 1”. If it is not, use the Bookshelf thickness.


3. To finish apply the Actual thickness parameter to the constraining dimension instead of the nominal one.


if(BCS Thickness <; 0' 0 1/2", 0' 0 1/2", if(BCS Thickness > 0' 1 3/4", 0' 1 3/4", BCS Thickness))




Using Model Text to Provide User Feedback
Since the user can specify any thickness they want, even if they are wrong, it may be a good idea to provide feedback to the user if the thickness they provide is out of bounds. Model Text will be used for this.

• Place some Model Text on top off the bookshelf and make the text read "XXX".


• Select the Model Text and pick the little square to the right of the Text Parameter in Properties.


• Add a parameter and name it "Thick Condition"


• In the Family Type dialog and a formula as shown below.




• This formula will test to see if the parameters of Bookcase Thickness and Bookcase Thickness Actual are equal. If so the user supplied good data and the model text should read "GOOD". If they are not equal the users supplied bad data and the model text should read "BAD".

Lastly, we only want the model text to display if the condition is "BAD". To do this, create another parameter Called Thick Condition Visible as shown below.




In the Type Parameters dialog, add this formula to the Thick Condition Visible parameter.


Not (Bookcase Thickness = Bookcase Thickness Actual)


This formula returns a true when model text is in a "BAD" condition. When this yes/no parameter is true, it is visible.


The opposite is when the model text is in a "GOOD" condition, the yes/no parameter is false and the Model text will not display.


Important: You must load this family into a project for this to work. The Good and the BAD are visible in the family, but Only Bad is visible once loaded into a project.

Wednesday, February 25, 2015

Top 20 Revit Tips, Tricks, and Handy Tools

Here are some of my favorite Revit Tips and Tricks.

1)  Previous Selection Set
Ctrl + the left arrow key on your keyboard will re-select the previous selection set.

2)  Filter Selection Sets
Use the Filter tool   to refine selection sets to just the item needed. Combine this with Select all Instances.

3)  Drag to Copy
Hold down the Ctrl key and drag a component to make a copy of it.

4)  Key it In
Tired of the Project Browser and the Properties palettes disappearing? Get them back fast with a couple of custom key-ins.

If custom key-ins made you faster in AutoCAD, consider using the same ones in Revit.  Here are some classic AutoCAD commands and the Revit commands that go with them.
(Break)                        Split Element
(Copy)                         Copy
(Erase)                        Delete
(Fillet)                          Trim/Extend
(Hatch)                        Filled Region
(Insert)                        Link Revit
(Line)                           Detail Line
(Mirror)                        Mirror
(Offset)                        Offset
(Quick Save)                Synchronize
(Trim)                          Trim/Extend
Start by using the keyboard short cut for the keyboard shortcut editor ‘KS’.  

5)  Temporary View Settings
Sometimes you just need to clean up a view to work in it. Enabling temporary view properties allows users aimlessly hack away at visibility graphics with no regrets, because when done, the view properties will return back to standard automatically.


6)  QAT is Whack
It’s there; you might as well use it. Right click on the ribbon to add your most used tools to the QAT. Digging through the ribbon is for losers.

7)  Control the Project Browser
Expand the Project Browser. This is a Windows feature that works in any Explorer-type listing. The Ctrl + asterisk will expand all folders and Ctrl+ - (dash) will collapse them. Be sure to use the keys on the number pad.

8)  Tiny Temporary Dimensions?
Make temporary dimensions size appropriate for mature eyes by selecting Application Menu, then Options, and look in the Graphics tab.


9)  Orient to View
Want to create a 3D view for a specific floor? Right click on view cube, then orient to view, floor plans, and then click on the callout you want to show in your 3D view.


10) Create Identical Dependent Views
If you have dependent views set up for one discipline use the Apply Dependent View tool on the right click menu to apply the same dependent views with the same cropping to other required views for the different disciplines.

11) Create an Image of a View
To create an image of a view, right click on it in the Project Browser, select save as image, then export it from the Application Menu.

12) Transfer Project Standards
Most everything can be swiped from another project rather than recreated.

13) Pick to Delete
Hold down the Delete key and click on items to delete one at a time.

14) Hard Enter
Ctrl + Enter. Use it to force a new line of text instead of waiting for text wrap to work.

15) Drag a View to a New Sheet
In the Project Browser, users can simply drag a view from one sheet to another. No need to delete and replace on a new sheet.

16) SZ
SZ is the same as C for close in AutoCAD.

17) Math Magic in Properties
Place an equal sign in front of any number in the Properties pallet to construct and equation. Click “Apply” to solve.

18) Undo/Redo Drop Down
There is a drop down next to Undo and Redo so you can go to just the right spot.

19) Controlled Zoom
Want to edit text that is really far away and small? Click to edit the text then, hold down the control key and use the mouse wheel to zoom into the text only. It's weird, so you should try it.

20) View Tools
I keyin WT an ZA so much, I think they are my number one used keyins. WT tiles all the open windows, then ZA will zoom all the open windows. Whether I am working on families or projects, I more than not want to see many different view open at once. Nothing helps give me the BIG picture faster than these keyins.

As a bonus, one of the weirdest tools I have ever used is the Replicate view tool. This tool will create a temporary second copy of the active view. The help file indicates that it might be useful if you are working on a close up section and still want to see a far off view. OK. 



I did notice that I could place annotations and lines in either view and they showed in both. The two views have the same name except one is suffixed 1 and the other 2. Close one view and the other reverts back to the original name. You never know when you might to want to replicate a view. 

Seriously, you will never know.



Thursday, February 19, 2015

Revit Type Catalogs

This article comes from my Revit Basics Blog which I have decided to shut down. 

When you have a family that has a lot of options, using a Type Catalog may be the best choice for helping users navigate those options. An obvious example is structural steel. In that case there are many different choices and each choice change the shape, wiegth and identity of the family. Type catalogs use lookup table to look up the appropriate data needed for the different available types.


For this example a dishwasher family is created and it is named dishwasher.rfa.


Select the Family Types button to identify the parameters to associate with the look up table. For this example use Model and Manufacturer. In order for this to work correctly some data has to be placed in Value column. The words model and manufacturer will work, the letter or any other characters will work as well, just don't leave them blank.
Next a look up table needs to be created. I start with an Excel file that will be converted to a TXT file. Save this file with the same exact name as the family. Only the file extension should be different.


Leave cell A1 blank. Revit reconizes this as a heading for Family type which will start below it. Placing any data here will cause things not to work. Fill out the rest of the cells as indicated below.
Column A defines the family Types that can be created.
Column B defines the Model number assigned to that type.
Column C defines the Manufacturer assigned to that type.

The column headers for Model and Manufacturer are a combination of the parameter name to be controlled and a code for the parameter type. The codes are listed below. 
  • Angle                    ##ANGLE##DEGREES
  • Area                     ##AREA##SQUARE_FEET
  • Currency               ##CURRENCY##
  • Integer                 ##OTHER##
  • Length                  ##LENGTH##FEET
  • Material                ##OTHER##
  • Number                ##OTHER##
  • Slope                    ##SLOPE##SLOPE_DEGREES
  • Text                     ##OTHER##
  • Volume                 ##VOLUME##CUBIC_FEET
  • *Yes/No                ##OTHER##
 *When using a Yes/No parameter the Yes=1 and No=0.
When done, save this Excel file with a CSV file type.


Then change it's exrension in Windows Explorer to ".txt".
Test this by loading the dishwasher family into a new project.










Wednesday, February 11, 2015

Browsers on the Right Click

I should be used to little things slipping by unnoticed with Revit by now. Today's discovery, Missing a browser, just right click. There you will find Properties, and now in 2015 you will also find the Project Browser and the System Browser. 

Is it HUGE? Naw, but I like options, and this is a great one.


Friday, February 06, 2015

Radius v. Diameter for MEP Connectors

When placing round connectors in families, Revit allows you drive the dimension of the connector with either the diameter or the radius, but there is a catch.


All of the round connectors must be driven the same way. 

When editing an existing HVAC family to add some hydronic connections, I couldn't change from diameter to radius. A quick test revealed that the round duct connector already set to diameter was locking all round connections to diameter. I deleted the duct connector and the radius choice reappeared.

In this case "all or nothing" set to radius was not a problem, it actually cleaned up the family. It just just a quirk that good to know about. 

Monday, February 02, 2015

Make a Company Logo for a Titleblock

This article comes from my Revit Basics Blog which I have decided to shut down. 

To build a logo for a title block, create a new annotation family. Select the application browser, then New and finally Annotation Family.


Revit offers many templates for annotation families. Revit template families have a RFT file extension. For this example select "Generic Annotation.rft". This template contains two reference planes and a note to the users to specify the type of family. The intersection of the reference planes is the origin for the family. Select the "Category and Parameters" button near the end of the ribbon to change the category. For this example use "Generic Annotation". 

I used text and a filled region to create this logo. 


Now I am going to add a parameter to the text "Omaha" so I can turn it on and off based off which office this logo is attached to. First select the word Omaha. In it's instance properties to the right of the word Visible is a grey box, click it. Now select the Add Parameter button. Name the parameter "Omaha", make it a type parameter and Group it under "Graphics". See below.


Create a Las Vegas Parameter the same way as the Omaha parameter and place the Las Vegas text on top of the Omaha text.

Now let's create two types under this family. One for Omaha and one for Las Vegas. The type will control visibility of the text so only the appropriate city name will appear in each type. Create types by selecting the Family Types button near the end of the ribbon.
On the right-hand side of the Family Types dialog box select New under the family types header. When prompted for a name, type "Omaha". With the Family name set to Omaha, check the Omaha visibility box.
Create and configure a Las Vegas type the same way and load this logo into a project.