Vote for AU 2017 Class Proposals – Vote Now!

Looking for ways to automate your installations and customization within Revit or AutoCAD products? Wish you could control the project launch process?  Need to maintain Revit project versions without accidental upgrades?  Want to customize Revit deployments by studio, delivery group, or Office?  Wish you could ensure that all project team members were on the same build and or service pack?  Perhaps you just need to master Revit Roofs and would like to explore more than 35 different roof types and how to create them in Revit? I’ve submitted a few classes that will interest you. Vote Now, then attend in November!

  • AutoCAD Architecture Automation Anywhere!
  • Automating and Customizing Revit Deployments for the DIY Enthusiast
  • Revit Project Launch Scripting to Standardize All Studios
  • Conquer Revit Roofs Like a Ninja



I’m bringing some more standards tools to you today. A quick copy and adjust of the original text tools graph resulted in three tools for dimension styles. The first allows the user to select a dimension type and then selects all elements in the current project that use that style. The elements are selected in Revit, so the user can use the type selector to change the type.

3 tools image
3 tools in One Graph

The second tool reports all dimension types and writes them to the chosen excel file in a worksheet named dimensions after the category chosen.

Dimension report image
Reporting Dims to Excel

The third tool allows the user to choose a dimension type and change the elements selected by the “type” filter and change their family type to the desired type within Dynamo.

Here is a the complete screen capture of the 3 tool graph.

3 tools image 2
3 Dimension Tools for Dynamo

and a download BTC_DIM_STYLE_FIX

Macro: Create Isolated 3DView based on Workset

Macro: Create Isolated 3DView based on Workset

Finally got around to adding the code to modify a great routine published by Harry Mattison back in 2015.  I’ve been using the routine to generate the isolated 3D views, but from the first time I ran it, I wanted a way to do workset isolation rather than element level temporary isolation.  Using the Harry’s original code, I added a dictionary and the SetWorksetVisibility code segments.  The code published below will set the workset visiblity for the view in addition to the element.

Harry’s original post

My modified code shown below (Application Macro):

public void CreateIsolatedWorksetView()
Document doc = this.ActiveUIDocument.Document;
int max = 100;
if (!doc.IsWorkshared)

// get the 3d view type which is needed when creating 3d views
ViewFamilyType vft = new FilteredElementCollector(doc)
.FirstOrDefault(q => q.ViewFamily == ViewFamily.ThreeDimensional);

using (Transaction t = new Transaction(doc, “workset view isolation”))
// create a dictionary to hold the worksetid and workset name
Dictionary<string, Autodesk.Revit.DB.WorksetId> dict =
new Dictionary<string, Autodesk.Revit.DB.WorksetId>();
// loop through all worksets (but only User worksets)
foreach (Workset wset in new FilteredWorksetCollector(doc).WherePasses(new WorksetKindFilter(WorksetKind.UserWorkset)))
dict.Add(wset.Name, wset.Id);
foreach (Workset wset in new FilteredWorksetCollector(doc).WherePasses(new WorksetKindFilter(WorksetKind.UserWorkset)))
// create a 3d view
View3D view = View3D.CreateIsometric(doc, vft.Id);

// set the name of the view to match the name of the workset
view.Name = “WORKSET – ” + wset.Name;

// isolate elements in the view, using a filter to find elements only in this workset
view.IsolateElementsTemporary(new FilteredElementCollector(doc).WherePasses(new ElementWorksetFilter(wset.Id)).Select(q => q.Id).ToList());
view.SetWorksetVisibility(wset.Id, Autodesk.Revit.DB.WorksetVisibility.Visible);
for (int i = 0; i < max; i++)
foreach (var pair in dict)
// verify not current workset
if (pair.Key != wset.Name)
view.SetWorksetVisibility(pair.Value, Autodesk.Revit.DB.WorksetVisibility.Hidden);

Workstation Settings
Create 3D Isolated Views by Workstation


V-Ray for Revit not finding a license?

V-Ray for Revit not finding a license?

After installing V-Ray for Revit public beta the other day, I rebooted my workstation and found that everytime I launched Revit, there was a delay and V-Ray would error out with a message indicating that no license was available.

Revit throws error when VRay seeks license server from existing install
Revit throws error when VRay seeks license server from existing install

Since I knew that I had successfully installed and had ample licenses available, the problem must be in a setting somewhere.  I checked the localhost:30304 server and found plenty of unused licenses on the online tab.  Since I have an install for Sketchup and 3DSMax, I thought that the new beta may be using an existing mechanism to find  the server.  I suspected that the 3DSMax license tool was telling Revit to look in the wrong place.  Once I reconfigured the original install to use localhost as primary and moved the network ip location to the “Alternate Server 1” slot, Revit was able to pull licenses when launched.

Steps to fix this issue:

Find the chaos group folder under your start menu.

Within the 3DSMax tools find the license administration folder

Right click and choose “Change V-Ray…”

3dsmax license controller


When the V-Ray License Server information dialog box displays, make sure that “localhost” is assigned to the primary license server with 30304 as the connection port.  If you were grabbing a license from a dongle attached to another machine(s), just add them in Alternate license server 1 and/or 2.

restoring localhost for online licensing

This worked for me… your mileage may vary.


Revit Build Checker Version 8

Revit Build Checker Version 8

Identify Revit Builds Painlessly

Here is a repost of an old tool recently updated for Revit 2014…

I thought you might be able to use a tool to identify what Revit build is sitting on your pc. If so, continue reading…

  1. Are you a CAD/BIM manager responsible for installing and updating Revit on multiple computers?
  2. How about a quick way to check all the Revit Build Numbers on each computer without actually launching Revit?

Sounds good right? Download the zip file containing a short vbscript routine and run it on each machine that has Revit installed. It will display a web page with all the build information for each Revit product installed. It will look more or less like the image shown below.

Want to capture info from multiple computers?

  1. Search the code for the following string: “c:BTCrevitbuild.log”
  2. Replace it with a path to file somewhere on your network.
  3. Make sure to create the file in the appropriate folder
  4. Every machine that runs the script will now append it’s info to the log file.

Lather, rinse, repeat….