Pretty simple really – I want to be able to select an element in Revit, and then trigger the “Select in Project Browser” command, which will scroll the Browser, select the appropriate entry and expand any plus signs as necessary.

I’m thinking:
Sections / Elevations / Callouts – selects the View in the Browser (if it is not hidden by Browser org.)
Component Families – selects family type
Links – selects the link
Groups – selects the group

I’m sure there is more granularity that could be added to the above list…

Anyone out there think this is possible?  Want to take it on?

I received this request via email:
a question in revit vasari or you can get the orientation and exposure of a face of a mass or a wall
for example
classify all the walls to the north or the south-west?
put them in a schedule of the walls?

Vanilla Revit can’t do this. But perhaps someone would like to make a little add-in, macro or script that processes Walls, determines their ‘facing’ orientation, and then inputs this data into a Shared Parameter of Walls? Successful challenger will obviously get a mention on the blog.

Maybe something like this already exists out there… Feel free to comment!

Thanks to Amy Manning, who ‘reminded’ me that Case do have a tool that does exactly that 🙂

Its the aptly named “External Wall Facings”.  More info at this link.

Much of the legwork was done back in this 2010 post by Jeremy:
The Building Coder: South Facing Walls

Note:  I used my Revit Master Search, which led me to this post, which led me to Sort and Mark by tools4revit.  However, I don’t think this adds orientation relative to North – I’m pretty sure it just determines Flip/Mirror orentation?

I was going to make a script or something myself, but I figured there is a API-guy out there waiting to make something useful and simple like this.

Challenge:  make a tool (can be an application, script or CMD) that locates and backs up all API add-ins from Revit add-in files.  Ideally, this tool would place the result in a ZIP file with subfolders that are logical and could be ‘restored’ to a new / clean installation of Revit.


Note: if you are going to ‘take the challenge’ I recommend that you post a comment so that you can co-ordinate with other coders if necessary.

Some of my notes below:
Need at least 2 x add-in folders and any referenced dlls

On my PC:

Wiki – addin locations:

Environment variables:

CMD Reference:

Jose Guia has also responded to the challenge. Here is a direct link to the program he created:

EDIT: Jose’s blog seems to be down, here is a link that works

He has done a nice job – his program is a little bit more advanced than Rod Howarth’s version. He includes a few more statistics, and the folders are already setup for RAC.  It also links into the Revit Forum thread.

This is a scary stat from my analysis:
Total times you used the ESCAPE KEY          : 8520  (387 presses on average per session)

Here is his blog post: | Revit Journal Analysis and Parsing Program (Rank Keyboard Shortcut Use)

Here is the Revit Forum post.  You can put your results here.
Revit Journal Analysis and Parsing Program (Keyboard Shortcut Use)

Give it a go.

Here is a challenge for you API and programming wizards out there:  make a tool that monitors the performance and productivity of a Revit user.

What am I talking about?  Mainly, I want to know how I can improve my productivity.  I can see two big ways:

  1. Ensure I am using keyboard shortcuts where possible
  2. Avoid triggering commands unnecessarily, and thus having to abort them and retry

Here is the kind of output I would be looking for:

start sample data
REVIT SESSION Productivity Analysis

Number of commands initiated: 2493

Top 50 commands initiated:
Zoom Extents

% of Top 50 initiated using keyboard shortcut:

List of Top 50 commands initiated WITHOUT keyboard shortcut:

Total number of commands initiated and then aborted without doing anything:

List of commands most commonly aborted:
Cut Geometry
end sample data

You get the idea?  Such a utility could show me which tools I should add to my arsenal of keyboard shortcuts.  It would also show me which commands I am not using correctly or triggering unnecessarily.

How could this tool be developed?  I see two main ways:

  1. Create a tool to parse and analyse the output of the journal file for the session.
  2. Create an API tool that monitors and logs the necessary data, then displays it

Who is going to rise to the challenge?

To quote one of my favourite shows:
And if ever a challenger wins over the Iron Chef, he or she will gain the people’s ovation and fame forever!