Thursday, 12 January 2017

Underline Revit Schedule Headings

I was recently asked if it is possible to just underline the Revit schedule column titles without having all the lines/boxes below.  At first I thought it was not possible, so I figured out a crazy workaround.  As I was checking the workflow for documenting it on this blog I discovered something I didn't know (or at least had forgotten but once knew), which made the solution quite easy.  I have always found that preparing conference presentations is a great way of learning a subject thoroughly - instead of thinking that you know it all.  It seems that writing a blog has the same benefit.

I decided to document the workaround here anyway because someone might learn something in the process, or be able to use it for some other purpose.  If you just want to know the best solution, skip to 'The Correct Workflow'

Underline Workaround Method

When you first place a schedule on a sheet, you get some pretty uninspiring looking graphics - all boxed in, with the heading text centre justified and the body text left justified.
Default schedule appearance
If you look at the schedule 'Appearance' properties, the default settings show Grid lines on, Outlines off.  Depending on your project template, you may have the same text type for all three aspects of the schedule text - in which case it is wise to create separate text types for title, header and body text, making sure they are named clearly.
Default schedule appearance settings
 You could try turning on the Outline and hiding the gridlines to see if it underlines the title/header.
Outline on, gridlines off
Unfortunately it does not underline either the title or headers - those settings are very crude, giving us very little control at all.  The end result is a box around the whole schedule.
Outline on, gridlines off
The next thing to try is to switch off the outline box, then underline the header text itself.  You could select the header text in the schedule view, and change its font properties
Selected text font properties
However, it is much better practise to use a specific text type for the header and edit the type properties for it - so you can change them all at once without having to select the text in the schedule cells.
Text type properties
The end result is that individual header text words are underlined, which looks awful - we are trying to get one single line under the whole lot.
Header text underlined
How about using the schedule formatting tools introduced in Revit 2014?
  • First edit the Schedule Header text type to remove the underline.
  • Then highlight all the header cells by dragging the cursor across them - this has to be done in Schedule edit mode, not in sheet view.

Select all the header text cells
  •  Click on the Borders icon on the ribbon.
  • This opens the Edit Borders dialog box
  • Select the linestyle you want the underline to be
  • Click on the border box to the lower left with cells underlined
  • Click OK
  • Assuming that you switched off the 'Gridlines' and 'Outline' checkboxes, you still won't see the borders on the header cells (or any borders at all).
  • Enable the 'Gridlines' checkbox, and you get all the gridlines back again (not just the header underline borders.
  • This was the point at which a gap in my knowledge caught me out, so I devised the crazy workaround.  I thought that you could not control the borders on individual cells in the body of the schedule because the Borders icon was greyed out as soon as you select one or more cells - more on that later.

Crazy Workaround

Don't follow these steps!
  • First I created a white coloured linestyle
  • Then set the linestyle for 'Gridlines' to be the white linestyle
  • For this to work it requires the 'Blank row before data' checkbox to be ticked
White line gridlines plus blank row before data
  • Hey presto - the gridlines are there, but you can't see them as they are white on a white screen (of course it won't work if you changed your background colour).
  • The header cells should be underlined because those cells had a black border

The Correct Workflow

This is how you should do it - so much simpler:
  • Set the gridlines linestyle back to something sensible like 'Thin Lines', making sure that 'Gridlines' is ticked
  • What I didn't realise earlier is that you can modify the border lines on all the cells by selecting the columns at the top of the schedule, by clicking on the letters at the top - just like Excel.  Duh!
  • Select all the columns by running the cursor along the row of letters
Select all columns
  •  Click on the Borders icon on the ribbon
  • Click on the 'None' icon
None borders on all cells
  •  Select the Title cell and set its cell borders to None
  • Select just the header cells
Select all the header text cells
  • Click on the Borders icon on the ribbon
  •  Select the linestyle you want the underline to be
  • Click on the border box to the lower left with cells underlined
Underline border
  • Make sure that 'Blank row before data' is ticked otherwise the Header cell underline borders will not show - this is the useful tip I discovered in my crazy workaround that also applies to this method
Grid in headers/footers/spacers
  • Also untick the 'Grid in headers/footers/spacers' checkbox otherwise you'll get vertical gridlines in the blank row (as above)
Appearance formatting
  • Select each column and change its horizontal alignment as you require
Align columns
  • Finally you should get the desired result
Underlined headers
  • If you want to have some fun you can shade alternate columns.  I don't believe there is a way to shade alternate rows, which is something people do in Excel occasionally.
Alternate columns shaded

The moral of this tale is that we now have two different ways of controlling the gridlines on Revit schedules - they do not work well together.  Basically you can opt not use the old controls unless you want very simple formatting that happens to match the old options (All gridlines or just an outline box).  If you want to use the new border tools then you need to make sure the old gridline checkboxes are set to the default settings (as shown above).

Tuesday, 3 January 2017

Separating Model and Detail Lines in Revit - part 3

Previously I posted descriptions of how to distinguish between model and detail lines in Revit and part 2 - using View Display Model .   These various methods demonstrate how to visually distinguish between model and detail lines - but not how to just select one or the other.  As previously described, you cannot use the Revit selection filter to separate the lines - it does not distinguish between model and detail lines, although it does separate by family type.

Revit selection filter

Add-Ins for separating model/detail lines

The solution to this is to use a Revit Add-In product.  My favourite is 'Ideate Explorer', which is robust and fairly comprehensive:
'Explorer' is a tool for model-management and auditing Revit projects - but is also very useful for finding objects, be they hidden or just not easy to identify using standard Revit tools.  One of the things it does is clearly separate model and detail lines in a selection, active view or even the whole project.
Filter by current selection

Select by Active View or Entire Project

Once you have narrowed down the filter to just the detail lines (if that is what you want), they are now selected so that you can now deal with them.  In the example below, detail lines have been used to indicate a floor penetration, which is a serious Revit misdemeanour!  They need to be replaced by a 'Shaft Opening' object.  However, that would mean recreating the dimensions - so if your drawing needs to be issued in the next 5 minutes, the least you could do is convert the lines to model lines using the 'Convert Lines' tool.


Ideate Explorer is somewhat overkill for such a simple task, so from this year you can now use a sort of cut-down version called 'Ideate QuickSelect' - this just allows you to select or filter specific items in a similar fashion (by current selection, active view or whole project), without having any capability to further analyse the elements.
Ideate QuickSelect

These tools are great for finding other things that should not be in your model such as images or imported DWG files that have been placed and hidden on views - Explorer tells you which views they are on.  In that situation, when a view containing hidden items is duplicated with detailing, the hidden items are duplicated too, and remain hidden, which can rapidly lead to project file-size bloat.  One improvement to 'Explorer' would be to display the file size of imported DWGs and images.

Friday, 16 December 2016

Applying colours and Materials in Rhino for Revit Import

Following on from my previous post about importing Rhino materials in Revit 2017.1   here is a brief description on how to set up the colours/materials in Rhino:

I am new to using Rhino, so my understanding of the UI and functions is pretty basic but I managed to figure out how to apply colours and materials to objects without reading any manuals.  I am happy to be corrected if there are better ways to do this.

Once you have created an object (or multiple objects), you can select the object and view its properties.  Unless you tell it otherwise, it will be on the 'Default' layer, with Color, Linetype etc set to 'By Layer', which means that it will behave according to the layer settings.  During the new import process, Revit 2017.1 considers the default layer & colour not to be a material.

You can change the layer of the object from the Layer drop-down list, providing you have created new layers

By default, your file most likely will have no layers, so you need to create them, using the 'Edit Layer' function, available from the Edit menu.

Once the layers menu has been opened, it will be available under a Layers tab.  It has typical columns showing the name, show/hide, lock, display colour (just a box) and material properties for each layer.  New layers will have default settings (no colour or material defined), but these can be changed by clicking on the colour box or adjacent space under the material column.
If you are creating layers just to manage export to Revit, the names are irrelevant to Revit, but the colour and material are important - you don't need to get the colour/material right for its end use in Revit, as long as each object has a different colour, it will become a different material when imported to Revit.  The materials can then be edited in Revit.

If you expand the width of the menu it shows the material name (if defined), linetype and print width/colour - the print colour does not seem to be relevant for Revit imports.


You can define a material for use in Rhino, but the only thing that Revit takes note of is the material colour.
Rhino Material Properties

Object Properties

Normally, objects will display according the the 'By Layer' settings, which means that all objects on a given layer can have their properties changed together easily.
Object properties By Layer

You can override individual 'Display Color' for any selected object
Object properties By Object
If you choose a non-standard colour, it will show the colour name as 'Other'

SAT files

I tried exporting a coloured Rhino file to SAT format, then importing it to Revit, but sadly it did not bring the colours in as materials - so I am not sure what the trick is to assigning colours to objects in a SAT file.  I tested various ACIS versions of SAT format, to no avail.
Rhino Export SAT options
Does anyone know how to define colours for objects in a SAT file from Rhino?  Or from any other 3D modelling software?

Import Colours to Revit

For details on how these colours are imported to Revit, refer to importing Rhino materials in Revit 2017.1

  • It seems that Revit uses the display colours set in Rhino, not the print colours.
  • If you import two different Rhino files that have identical colour definitions, it treats them as different materials
  • If you import the same Rhino file twice, it seems that Revit assigns the same materials to objects in both instances
  • However, if you rename a material, or change its definition before importing the second instance, Revit will create new materials with a suffix of (2) added to the original name.  You could use this to your advantage if you want multiple instances of the same object but with different materials.

Sunday, 20 November 2016

Revit 2017.1 Import Rhino Materials

Following on from my post about the new Revit 2017.1 feature 'Import 3D Shapes', I have done some more testing on how to import Rhino files with materials (colours) into a Revit family.

If you import a Rhino file that has no colours or materials defined in it, you just get a dumb object in Revit that has no capability for controlling materials.

However, one of the subtleties of the new import shape feature is that it will recognise assigned colours in the Rhino file.  It will then create a new material in Revit for each colour.

To assign a material or colour in Rhino, you can either select an object and choose a colour/material;  or else you can create layers and assign a colour/material to the to the layer, then put the object on that layer and leave its object properties set to 'By Layer'.
Once you import the Rhino file to Revit, it will take just the RGB value of the defined colour or material and use that to create a new material in Revit - any other material properties will be ignored, so don't expect textures, reflectivity or anything else.
If you do not assign a colour/material to any object by either method, it will not be given a material in Revit (not even 'Default') - so you cannot subsequently change it.  Hopefully this will change in future versions of Revit.

The materials in Revit are given names such as 'Material 2' etc.  This is a big improvement over the confusing naming of imported Autocad materials (eg. Render Material 255-255-255).

The only property that the new materials have is a 'Graphics' colour definition.

It has default 'Appearance' settings (grey), meaning that realistic or rendered views will show grey objects.

You can of course change the material definition and give it 'Appearance' colours, tints, bump maps etc. 

This will only affect the part of the imported Rhino file that had that original colour (and now Revit material).
Realistic view with only one material Appearance edited

It would make sense to rename the materials so that they refer specifically to the individual objects within the imported file.  I like to set the 'Appearance' colour to match the Graphics colour, so that not only do the material previews show in colour but also any realistic views will display the colours rather than default grey.

I have not yet succeeded in testing this functionality with an imported SAT file (as I can't figure out how to apply colours in a SAT file), but hopefully it will work as a viable alternative workflow to the old method of importing/linking SAT files, as described in an earlier post.

For details on how to apply colours/materials to objects in Rhino, click here

Thursday, 10 November 2016

Separating Model and Detail Lines in Revit - part 2

A couple of years ago I posted a description of how to distinguish between model and detail lines in Revit.  An anonymous comment rightly pointed out a method that I had missed - probably because it was right in front of me I completely forgot about an extremely useful view property:

View "Display Model"

The default setting for this property is "Normal", which displays both 3D model elements and 2D annotation, so you don't necessarily know which is which.

One very common problem I find with dodgy Revit models is that people have 'drawn' floor penetrations using model lines rather than using shaft openings, or even worse, have used detail lines, which would only show in that view.

If you select across the whole model and filter out everything except lines, you can at least tell which ones are lines - but not which are model vs detail lines.  This is where the 'Display Model' property comes in handy:

Set it to 'Do Not Display' and all the model elements are hidden

Interestingly, it keeps displaying grids & reference planes, which are neither model elements nor annotation - despite being lumped in with annotation on the Visibility Graphics dialog box.  They are in fact  what I call 'datum' categories.

One problem with this setting is that all the hosted annotation disappears too, so it is not easy to see things in context, nor can you be sure which hosted annotation is now hidden too.  This does have an added benefit of being able to check for 'dummy tags' (generic annotation symbols) and text that has been placed to look like real tags - all the real tags are hidden, and what is left visible is fake (or garbage as far as BIM is concerned).

There is a third option, which is extremely useful:  'Halftone'

This displays the model elements in halftone, and all the annotation as normal.  Now you can clearly see which lines are detail lines - they could be selected and converted to model lines, or better still, replaced by shaft openings.

As a 'Model Manager' you should be using this technique all the time to make sure that users are doing the right thing.  However, it is important to remember to set the Display setting back to normal when finished - better still, set it to normal in the view template and use the 'Enable Temporary View Properties' setting to do a temporary over-ride, which will reset itself when you finish.