Statutory submission for Hong Kong from Revit

They were developed for a pilot project of a school in Hong Kong done with P&T Architects Ltd. and submitted to HK Building Department in 2015 and were shown for the first time during a meeting of the Hong Kong Revit User Group (HKRUG) in P&T on 17th February 2016.

The presentation below shows selected methods and procedures for configuring and generating drawings in .pdf and .dwg format from Revit for the purpose of statutory submission in Hong Kong (for Building Department, Lands Department, Fire Services Department – Fire Sprinkler Service at

Modelling a truly curved Curtain Wall

Revit Curtain Wall is a very useful tool, but lacks a proper implementation of truly curved Curtain Panels and Curtain Wall Mullions. Such functionality is necessary not only for curved glazing, which in real life is often avoided because of high costs, but also for elevation cladding in cases like the one shown below.

10.1 Curved cladding sample_crop

Building with curved elevation cladding panels

Revit allows using Basic Walls as Curtain Panels, what is a step towards the right solution because Basic Walls are curved when used as Curtain Panels in curved portions of Curtain Walls. The remaining issue is to have also curved mullions (Workers Compensation Southern California call at 714 598-3900), but it is only necessary for horizontal mullions as vertical mullions can remain straight. To achieve curved horizontal mullions we will use the Sweep functionality of Basic Walls.

10.2 Wall editing window

Wall Sweep defined in the Edit Assembly window of Basic Wall

Sweeps are horizontal protrusions following the paths of Basic Walls, so they can serve as mullions when defined properly.

10.2 Wall Sweeps editing window_mrk_crop

Settings of a Wall Sweep to be used as a mullion

10.3 Curved Curtain Wall settings_mrk

Type properties of a Curtain Wall with a Basic Wall used as a Curtain Panel

To define a mullion as a Wall Sweep one needs a Sweep Profile component family, which serves as the Mullion profile, and the proper Distance and Offset settings of the Wall Sweep. A Basic Wall with such a Wall Sweep can then be used as a Curtain Panel of a Curtain Wall as shown on the left.

The 3D view and plan of the resulting curved elevation cladding modelled as Curtain Wall is shown below.

10.4 Curved Curtain Wall 3D 10.5 Curved Curtain Wall plan

Curved elevation cladding modelled as Curtain Wall – 3D view and plan

Controlling the visibility of Level Marks for many Levels

Changing on/off the visibility of all the Level Marks in a multistorey project could be time consuming if done manually by clicking the tick marks one by one on every Level.

8.1 Tick mark for switching on-off Level Marks_mrk 1

Manual visibility switch of the Level Mark

Fortunately there is a solution. In the Type Properties->Graphics of any Level family there are two on/off properties controlling the default display of the Level Marks, which are shown when the Level is drawn for the first time. However those settings affect also the Level Marks of the Levels, which are already in the project and can switch them on/off on the left or right side of the Level of the given Type.

8.2 Level Type Properties_mrk

Type Properties of a Level family

Note that if any of the Level Marks has its visibility overridden manually by clicking the on/off switch, it will not be affected by the above mentioned Type settings.

Opening a project with linked Revit files and the linked files without unloading them from the project file

Linking other Revit models to a Revit project file is a powerful functionality, which among other uses, allows combining separate buildings with different configurations of floor levels into one complex. Unfortunately Revit does not allow opening at the same time the linked models and the project (master) file, to which they are linked. This makes e.g. analysing different massing options of such a complex quite inconvenient.

7.1 Opening linked file message      7.2 Diagram 1

If however, we enable worksharing in the linked models (making them Central Files) and open the Local Files created out of them together with the master file, Revit does not object. This is because the Local Files are not directly linked to the master file. Saving changes to Central in those opened Local Files and then reloading the link in the master file results in achieving the desired functionality.

7.2 Master file and local files opened together    7.4 Diagram 2

Master file and Local Files opened together                        Diagram showing Local Files linked to the master file via their Central Files

Rotating a plan view without affecting other views or the Project North

Sometimes, especially in case of detailed Floor Plans showing areas of special interest of larger spaces (like escape staircases or entrance lobbies), there is a need of orienting those detailed Floor Plans on sheets to a different direction than True North, Project North or the limited options available under the Rotation on Sheet instance property of Viewports (90° Clockwise or 90°
Counterclockwise) – shown on the image below.

6.1 Rotation options on Sheet_mrk
6.2 Rotated Crop Region6.2 Rotating the Crop Region_mrk

Rotating the Crop Region by 45° – preview during rotation (left) and the result (right)

Rotating the Crop Region is a view specific operation and the rotated Floor Plan can be placed on a Sheet just as any other View.

Overcoming the 9144000mm limit of the coordinate value of the Project Base Point

When trying to relocate the project using Manage->Project Location->Position->Relocate the Project to match the real local coordinates of the site it is not possible to use values larger then 9144000mm. In practice, the coordinates are very often larger than this value.

5.1 914400 mm error

9144000 mm error reported when relocating the Project Base Point

However, relocating the Project base Point by editing on screen its coordinates, which show up when the point is selected, mysteriously does not pose this kind of problem to Revit.

5.2 Coordinates of the Project Base Point 5.3 Editing the coordinates of the Project Base Point

No error reported when the coordinates of the Project Base Point are edited directly

Similar situation happens when there is a (less frequent) need of relocating the Survey Point. In this case however the Survey Point must be “detached” (the paperclip symbol next to it must be crossed) in order for its coordinates to be editable – as shown below.

5.3 Editing the coordinates of the Survey Point

Coordinates of the Survey Point edited on-screen

Exporting user defined groups of Walls to different AutoCAD layers

Revit needs to generate .dwg drawings according to a CAD standard, which requires placing Walls on different layers and assigning different colours to them according to specific grouping criteria, e.g:

4.1 Groups of Walls and their layers

Groups of Walls and AutoCAD layers they should be placed at required by the CAD standard

Layer Modifiers in DWG/DXF Export Setup table allow placing objects of the same Category (Walls in this case) on different AutoCAD layers based on values of some of their properties, but the set of those properties is very limited and their values are usually hardcoded in Revit. The only Wall Type property, which can have custom defined values and can be used as Modifier is Fire Rating. Therefore the Wall Types should use the Wall grouping criteria from the table above as values of their Fire Rating property. With those values defined and the configuration of the DWG/DXF Export Setup as shown below any number of our Wall groups can be exported to their respective AutoCAD layers.

4.2 dwg export settings_mrk

DXF/DWG export setups for Walls with Fire Rating as Layer Modifier

Using multiple Revision Schedules on the same sheet

Lets’s say thet the company standard requires revisions to be shown on a sheet in a standard table with descriptions and dates, but also in a simplified table containing only revision letters below the drawing number, as shown below.

3.1 Sheet corner w Revisions_mrk

Revisions should be shown on a sheet in two places in full and simplified table.

A solution to this problem is using several Revision Schedules in a Titleblock family – one for the main revision table and one for every revision symbol we want to show in a simplified table. In the case shown above there are total 11 instances of Revision Schedules. All the “simplified” Revision Schedules have to be arranged manually in the proper location and order in the Titleblock and each of them is supposed to display only one revision letter when the respective revision is to be shown in the main revision table. Therefore they should to be reduced to small cells and named according to the revisions they would display.

3.2 Multiple revisions in the Project Browser 3.3 Simplified revision table

Multiple Revision Schedules in the Project Browser (left) and under the drawing number (right) of the Titleblock family.

In order to behave as required, each of the “simplified” Revision Schedules has its standard Revision Sequence field hidden and displays only a Calculated Value called Revision to display, which is controlled by the conditional formula:

if(Revision Sequence > 2, “B”, “”)

This formula shows letter “B” (for example) only if the drawing has already been issued more than two times (the current Revision Sequence is greater than 2). Otherwise it shows nothing.

3.4 Simplified revision schedule setup_mrk

Calculated Value Revision to display and its conditional formula

Customizing the order of any list of names

Control characters RS and US (Left ALT-030 and Left ALT-031) are not only invisible, but are also at the top of the alphabetical order. This means that each of those characters when inserted before any name in Revit will move this name to the top of any alphabetically sorted list of names without changing the name. This allows creating custom orders of any list of names in Revit like Worksets, View Types, View Templates, Views, Line Styles, etc.

The above control characters can also be inserted using a contextual menu revealed with right-click in any textual field. This is often more convenient than typing the “Left ALT-“combinations, especially on some laptops, which cannot even simulate the numeric keypad.

1.1 Inserting control characters from pop up window_mrk

Left ALT-030 is before Left ALT-031 in the alphabetical order and the number of those characters inserted before a name matters in such way that the names preceded by more characters are placed higher on the list. A good example of this approach is a list of Line Styles, in which we would like to place our standard Line Styles with company prefix at the top and achieve the result shown below:

2.1 Custom list order of Line Styles_mrk


Overriding measured dimensions

Keyboard combinations Left ALT-030 and Left ALT-031 (numbers must be typed from the numeric keypad) represent two control (non-printable) characters from the ASCII table (record separator RS and unit separator US respectively), which are recognized by Revit as characters, but are not visible. We can use those characters to “cheat” Revit when it requires inserting alphabetical character(s), but the user would not like any character to be visible – like in the case of manual overriding a dimension value measured from the model or drawing.

The above control characters can also be inserted using a contextual menu revealed with right-click in any textual field. This is often more convenient than typing the “Left ALT-“combinations, especially on some laptops, which cannot even simulate the numeric keypad.

1.1 Inserting control characters from pop up window_mrk

1.2 Overriding measured dimensions

Trying to overwrite the dimension number manually causes “Invalid Dimension Value” message


1.4 Overriding measured dimensions

Using Left ALT-030 before the dimension number allows overriding it with a different value

Magic alphabetical sorting

I bet you often wanted to control the order in which Revit shows stuff in its multitude of windows and lists and still keep your original names of the entities listed, be it Filters, Floor Plan Types in the Project Browser, View Templates, etc. In all those cases the default and only available order, which Revit uses is alphabetical. So, unless you start using some weird prefix systems, which may soon result in names like “_*-.Site Plan” (not cool),  your named entities simply have to be where they fall based on their names. Right? Fortunately wrong! Believe it or not, but there is a way to control this order without affecting your naming system at all.

From a standard QWERTY keyboard you can input a character not only by just typing it, but also by entering its ASCII code. To do it you need to press and hold the right Alt key and type the ASCII code (0-255) with the numeric keyboard. Among all the ASCII characters are special symbols, which are not visible to humans on the screen, but are understood by computers. Those symbols have numbers from 0 to 31 and as such are “alphabetically” before any visible symbols. So entering such symbol before the name of whatever you are naming in Revit will not visually change this name, but for the computer will position it at the top of the alphabetical order. Entering two such special symbols will position your name before the name with one special symbol, entering three …. and so on. This way you can create groups of names, whose position in the listing order will be controlled by the proper number of special, invisible symbols at the beginning of their names. And the most important information – out of all the special symbols, the only two, which seem to do this trick in Revit are Alt-30 and Alt-31. Enjoy !

I am aware that this method may not work on every keyboard and every system configuration. Please let me know if it does not work in your case

Revit cryptic knowledge – what is the “R” field at the end of the “in-canvas tooltip”?

You all know very well “in-canvas tooltips”, although you may not be aware of this official name, which I found in Revit online help. In-canvas tooltips are yellowish tags, which are displayed next to the cursor when it detects (and highlights) an object in the Drawing/Modeling Area. They provide very useful information about the detected object – its Category, Family and Type.

In canvas tooltip

When you work work with Worksets and use Options two more fields appear at the beginning of the tooltip information – Option Set:Option and Workset – as on the above image. But sometimes there is one more mysterious component at the very end of this information chain – after the Type name. It is R followed by an integer number, like on the image below (R1 in this case).

In canvas tooltip with R

Ever wondered what the hell it is? Me to… After having searched the web in vain, I gave up and wrote an e-mail to my contact, who works somewhere deep in Autodesk. He must have pretty high security clearence, because after having contacted someone even deeper (he had no idea himself) he sent me an answer …

The R+integer is thermal resistance of a building element, a piece of data, which comes from Thermal Resistance type property under Analytical Properties of a Revit family (system or component). Analytical Properties can be enabled for component families (like Windows), when their Analytical Construction is set to something else than <none>, but for some system families (like Roofs), it looks like they are hard coded. What is even more interesting is that the number after R is always rounded up or down to an integer.

At first I was quite happy having solved this mystery, but then I realized that the values of thermal resistance of are usually rather small numbers, often less than 1 and in Autodesk Analytical Properties are quoted with a precision of four decimal digits. So I asked my contact some further questions:

  • Why was this particular coefficient given the privilege to be included in the in-canvas tooltip tag in Revit? This tag provides information about the name and place of the object in Revit organizational structure (Option:Workset:Category:Family:Type) rather than lists its physical properties. And, by the way, for windows the U-value is a more often used coefficient …
  • Why is the R value so ridiculously rounded up? This very fact makes it completely useless. Thermal resistance in Analytical Constructions is given with the precision of four decimal places and most types of glazing have the value less than 0.5 resulting in the same value of 0 in the tag for all of them …
  • Wouldn’t it be better just to remove it rather than make people scratch their heads over something what is useless even for those privileged few who know what it is?

I am looking forward to some answers from deep inside Autodesk.