BILT Speaker

BILT Speaker
RevitCat - Revit Consultant

Friday 30 August 2019

Travel Path Update in Revit 2020.1

Following on from my posts about Revit 2020 on Path of Travel and Follow Up :

With the release of Revit 2020.1, we have been given four minor improvements to the new (2020) 'Path of Travel' feature in Revit.  Welcome as they are, these improvements do not address any of the fundamental shortcomings of the tool, which seems like a missed opportunity:
  1. Start and End Points of travel paths can be dragged.
  2. Reveal Obstacles toggle.
  3. To and From Room properties have been enabled (these were previously just blank instance properties in 2020).
  4. Two new Dynamo nodes for Travel Paths (presumably new API capabilities allow this?)

Start and End Points

If you select an existing 'Path of Travel' element (which behaves like a polyline detail line) it now displays a blue grip-handle dot at each end.
  • Select the grip-handle and drag it to a new location - while doing so, Revit displays a moving straight line directly between the cursor and the other end of the path.

  • Once you let go the grip-handle in its new location, Revit recalculates the path of travel

  • Associated properties, schedules and tags will also be updated.
This is a very welcome little change to behaviour - if you tried this with the original vesion (2020), it just moved the whole path of travel.  However, this is only a small usability enhancement.

The fundamental issues it does not deal with include:
  • Still no ability to choose, change or control where the actual path goes (apart from adding/removing obstacles).  In order to do this, we would need to be able to somehow nominate additional points along the path, which it must go through.
    [Edit. * NB. Revit 2020.2 improves on this]
  • No ability to make the path orthogonal (in Australia I have never needed that, but comments on my last blog post indicated a requirement for this in North America)
    [Edit. * NB. Revit 2020.2 improves on this]
  • No ability to deal with sloping floors, level changes (split level), stairs.
  • No ability to prevent the path going through a very narrow opening (430mm or 1' 5") - more on this in another blog post.

NB. Given that the default selection colour in Revit is dark blue, and the grip-handles are mid/dark blue, it is pretty hard to even notice this new feature.  I would recommend changing your options for selection (and pre-selection) colours to something other than blue. 

Incidentally, which *!@*&#$ at Autodesk thought it was a good idea to make the selection and pre-selection colours the same (both dark blue)!

Reveal Obstacles toggle

This is a useful new tool for figuring out why your path of travel is not behaving as expected.  Again, this does not address fundamental shortcomings - such as:
  • What do you need to do when Revit fails to generate (or update) a path at all.

This new feature has a few quirks in behaviour - as detailed in another blog post.

[Edit. Revit 2020.2 further improves on 2020.1]

Friday 23 August 2019

Dynamo Version in Revit 2020.1

Autodesk have just released Revit 2020.1, which is great news for MEP Revit users.  For the rest of us there are a few goodies (to be dealt with in another post), but there are implications for which version of Dynamo you are using:

As of Revit 2020, you (BIM Manager) don't get to decide which Dynamo version to use in that software, as it comes packaged in the Revit install, and subsequent upgrades.  However, in the real world, we are all still using and supporting Revit 2019, 2018, 2017 and if you are unlucky, 2016 & 2015 . . .

The compatibility between different Revit versions and Dynamo versions is quite complex.  Refer to my previous Revit 2020 Dynamo Version posts on this matter.
You can also refer to John Pierson's Sixty Second Revit matrix of compatibility

Installing Revit 2020.1

I have just installed Revit 2020.1.  It now automatically includes Dynamo 2.2.1

Logically you would want to have this same Dynamo 2.2.1 version installed in Revit 2017, 2018, 2019, 2020.

I would have assumed that the moment Dynamo is updated in Revit 2020, it would also be available to install in all previous Revit versions that support it?  In fact you would expect the dynamo version to be available well before it is pushed out in the latest Revit 2020 service pack/upgrade?

Well, is it?

I'm not entirely sure?

If you go to the Dynamo BIM downloads site, it lists all the versions available

Yes, it lists 2.2.1 - but hang on, that is only the 'DynamoCoreRuntime' version, not the full install, which only seems to be 2.0.3 (which is many months old).  My understanding is that the Core install is  only available for Sandbox (ie. Geeks, not average Revit/Dynamo users), which runs outside the Revit environment - so we can't install that in Revit?

Refer to Dynamo Core 2.2 Release
or A new way to get Dynamo Sandbox, which explains what it is:
         What is Dynamo Sandbox?     "Dynamo Sandbox is for package developers and other folks working with Dynamo code who want to stay up to date with the latest and greatest stuff coming out. Sandbox is Dynamo’s “Core” functionality distributed in a way that doesn’t interfere with other Dynamo installations and doesn’t require any other applications (except for a few windows components and some optional extras)."

So, how do we keep all our versions of Revit running with the same version of Dynamo?  Can someone at Autodesk help to explain this, please?

Could the Dynamo folks please have an explanation on the downloads site?  And maybe separate the Sandbox stuff?

Other New Features in Revit 2020.1 include:

Tuesday 20 August 2019

Architects Declare Climate and Biodiversity Emergency

At the beginning of June 2019, a group of leading UK architects started "Architects Declare Climate and Biodiversity Emergency"

The list of signatories rapidly grew, and as of 19 Aug 2019 they have 580 architectural companies signed up.

On 25th July 2019 a group of leading Australian architects followed suit with Australian Architects Declare Climate & Biodiversity Emergency, and within a few weeks had garnered 476 signatories (and counting).  The Australian Institute of Architects have endorsed the declaration.

If you know of any architectural companies who believe in sustainable design (or say they do), please ask them to sign up.  If  architects in your country have not yet initiated such a declaration, please ask them to contact the UK group so they can affiliate.

Architects in Norway have already started a similar initiative

Monday 19 August 2019

PS - Update on Hide Zeros in Revit Schedules

Following on from my previous post about Hide Zeros in Multi-Element per Row Schedule, here is a simplified version of the schedule formulas - as noted in a comment by Kovyljan.

. . . . . When using the percentage formula, we can cut out one calculation field by changing which field the percentage is taken from:
"Schedule Count" instead of "MyCount" - since both of them have a value of 1 (or 0/Blank) when the schedule is expanded.

  • The 'MyCount' formula can then be changed to take on the role that 'MyCountTotal' had in my previous version:
    if(Schedule Count / MyPerc = 0, Blank, Schedule Count / MyPerc)

  • Make sure that 'MyCount' is formatted to not calculate totals - otherwise you'll get totals of totals per room.

  • Hide the 'Schedule Count',  'Blank' and 'Count' columns (Count is only required for checking anyway)
  • Rename 'MyCount' to whatever you need.

For more detail on this technique, refer to Hide Zeros in Multi-Element per Row Schedule
and Using Count Parameter in Schedule Formulas

Friday 9 August 2019

Hide Zero Values in Multiple Item Rows in Revit Schedules

Hide zero values in schedules (Previous post)

Following on from a previous post about how to Hide Zero Values in Revit Schedules, I have noticed that it does not work when you untick 'Itemise each Instance' (Multiple items per row) and you set the formatting to calculate totals - the zero returns.

Calculate Totals - Zeros shown
In the example above, you probably would want to show the zeros when calculating totals of different numbers - but there are situations where you legitimately do not want to show the zero.  Here follows an example, and yet another workaround to solve that problem.

Example of Workflow

A situation where you may not want to show the zeros might be when the field is a count of items.  As demonstrated in my previous "Count Dracula" post, it is not possible to include the system parameter 'Count' in a Schedule formula; nor is it possible to make a 'Count' value of zero - the workaround to that problem is to create your own 'MyCount' parameter, as described previously.

In this example,  items are to be listed in a schedule with consecutive room numbers - at this stage some of the rooms do not yet have any real items placed in them.  The schedule needs to show all the room numbers, even when not yet furnished.   In order for the rooms to appear in the schedule, a dummy item has to be placed in the room, but we do not want it to be formally counted.
This is where a 'MyCount' parameter is useful, as the dummy items can be forced to schedule with a count of zero.
  • First a 'Schedule Count' parameter has to be created for the nominated categories
  • Set the value to 1 for all items to be counted
  • Set the value to zero for those not to be counted
  • [NB. This could be a Y/N parameter, but that has complications - to be dealt with in another blog post]
  • If it does not yet exist, create a 'Blank' calculated value, with no formula
    (Refer to Hide Zeros)
  • Then create a 'MyCount'  calculated value (Number or Integer)
  • It can be given a formula of:
    if(Schedule Count' = 0, Blank, Schedule Count)

  • The schedule should list a 1 MyCount value for each item to schedule, and nothing for those Spare (dummy) items.

  • Group the schedule by Room Number (no footers)
  • Untick "Itemise every Instance"
  • Notice that the MyCount total values are not totalling up
  • Format 'MyCount' to calculate totals
  •  Untick "Itemise every Instance"
  • Aaaargh!   The zeros are back


In order to get the number of items in each room to total, you have to add a couple more calculated values - this is where it starts getting crazy!
  • Add another Calculated Value 'MyPerc' or 'MyPercentage'
  • Make it a Percentage (not a formula)
  • Select the field 'MyCount' of which it is to show a percentage
  • Select the Grouping title - 'Room Number' (rather than Grand Total) - so it only calculates a percentage of that Room sub-total

  • Add another calculated value, with a formula:
    if(MyCount/MyPerc = 0, Blank, MyCount/MyPerc)

  • This will show the total count per Grouping (Room) in each row - which looks a bit crazy when each row is listed separately

  • Untick 'Itemise every instance' and it looks better - and without the zeros
  • Do not Calculate Totals for these two calculated values, otherwise it gives wrong totals

  • Hide the intermediate calculated values, and rename the 'MyCountTotal' as desired

Now, if you actually want to show Grand Totals for the Item Count, that is another story . . . .
  • You would probably need to create another schedule that shows 'MyCount' (which gives the correct total), but collapse it down to one row (no sorting/grouping; no grant total) - and align it on a sheet with the column for MyCountTotal.
  • That would also enable you to have bold text for the total
  • However, I am not going to try that here - you are on your own.
[Edit.  A comment from Kovyljan has pointed out that the last method above can be simplified by making the percentage calculate on 'Schedule Count' instead of MyCount - refer to ps Update on Hide Zeros ]

For more information on this technique, refer to an earlier post on using Totals in Formulas *
For more information on creating your own Count parameter

* Thanks to Martijn de Riet of BIMForce who initially posted on his blog a similar solution to another scheduling problem in Revit

Monday 5 August 2019

Using Count Parameter in Revit Schedule Formulas

Anyone who has tried to master Revit Schedules would have encountered all kinds of limitations.  One of those is the limitations on which parameter types can be used in a calculation:

These parameter types can be used in formulas:
  • Number
  • Integer
  • Length
  • Area
  • Volume
  • Angle
  • Yes/No
  •  <Family Type..>
  • etc
They are all basically a number or a choice between items that have a number hidden behind them (Y/N  or <Family Type..>

The following parameter types cannot be used in formulas:
  • Text
  • URL
  • etc
They are some kind of text, which is all too hard for Revit to cope with (poor little Revit).

There is another kind of schedule parameter, which is not listed above (because it is a system parameter that you cannot choose from a list of types): 

        "Count", which is just a number (always = 1 for each item).

However, if you try to use this in a schedule formula, Revit gets very uppity and says you cannot.

This is unprecedented in Revit - a message that actually explains why it can't do what you want!
  • In case its not obvious what this means, it is referring to when you uncheck "Itemise every instance" under the Sorting/Grouping tab.

However, it is quite likely that you do actually want to perform a calculation on the combined result when multiple elements appear on the same row.  If not that, you may want to calculate per item and then total up the results of your calculation.  Here is my workaround:

Count Dracula Formulas

In your schedule, you can create your own "Count" parameter:
         a Calculated Value with a formula = 1

You could call it "Dracula", but that might confuse everyone later, so its better to use something more prosaic like "MyCount"
MyCount formatted to No Calculation

Don't forget to format your Count Dracula parameter to 'Calculate Totals' otherwise it will list only 1 even for multiple elements per row (as above).
MyCount formatted to Calculate Totals

Once you have 'MyCount' working, you can include it in a formula:
  • You may have a numeric parameter - say 'Num Shelves', which represents the number of shelves in a unit.
  • This can be multiplied by your Count parameter in a new 'ShelfCount' calculated value

Revit is quite happy to include "Dracula" or "MyCount" in the formula even though it is doing the same job as the system parameter 'Count'.

The formula could include an if statement:

Or you could put a formula directly into your 'MyCount' parameter

NB  . The last two formulas were somewhat superfluous, but just shown to demonstrate that you can create formulas with your own Count parameter.  For a more realistic example, refer to my previous post on Hiding Zeros in Schedule Formulas

This workaround removes one of Revit's many limitations - the programmers obviously put that one in deliberately to prevent "wrong workflows", but in reality they didn't anticipate all our requirements with schedule formulas. [Yes, my spellchecker doesn't like "formulas", but then I never liked learning Latin, so I'm not changing it!]

For more information about Revit Schedules, refer to this index of Schedule blog posts

Thursday 1 August 2019

Hide Zero Values in Revit Schedules

Revit likes to show a '0' or '0.00' in a schedule when the value is either zero or blank (sometimes).  This is not always desirable - in some situations you may actually want the schedule to show nothing when the value is zero.

There is a way to do this, although it is not in the units or display settings . . . . .

Blank Value Workaround

Let's suppose you have a 'Numeric value' field that is displaying zero values
  • The first thing to do in your schedule is to create a new Calculated field called 'Blank' (for example) - make it a Number type (if that is what your desired type is)
  • Do not put anything in the formula

  • Create another Calculated Value field - in this example I've called it 'Hides Zeros', but it can be whatever you want the title to display in your schedule
  •  This time give it a formula something like:
    if(Numeric value > 0, Numeric value, Blank)
  • This will hide all zero and negative values

  • If you want to display negative values and only hide the zero values, change the > in the formula to =:
    if(Numeric value = 0, Blank, Numeric value)

  • The next step is to hide the intermediate calculation columns:
  • Go to the Formatting tab and make the 'Numeric value' and Blank' columns hidden

Multiple Elements Per Row

What happens when you have a schedule that displays multiple elements per row, when you have unticked the grouping setting 'Itemise every instance'?
The zeros may return!
In which case refer to this post on Zero values in multiple elements per row Schedules