Wednesday, 30 December 2015


Just another trick about scopeboxes. Imagine you have a design from which a floorplan looks like this.
Setting up a project north to draw orthogonally is only going to help you for one part. But what about the other parts. Use scopeboxes!

Draw 3 scopeboxes
Rotate the scope boxes accordingly

Assign the grids to the proper scopeboxes
Create 3 views
Assign each scopebox to its own view 

Friday, 18 December 2015

Revit builds

Recently I received a family that was behaving strangely. Before putting it in a project it was only 552 KB big. After adding it to a specific project it and opening it from that project and saving it as a new file it grew to 45.052. Although many would argue that filesize means nothing I still thought this to be odd. I closed the project and I only opened this lovely family. Take a look at the screenshot of my memory usage.

After asking question I learned that people were using different builds of Revit 2015. It's always been advised to make sure that people who work on the same project use the same build.

You can use the journal files from Revit to find out which build has been used.
Typically you should be looking for the 3rd and 4th line:
' Build: 20151007_0715(x64)
' Branch: RELEASE_2016_SUNRISE

' Build: 20150511_0715(x64)
' Branch: RELEASE_2015_SUNDIAL

Notice that Revit 2015 and 2016 both start with 2015 I assume that it's the date of the latest patch.

Besides those build numbers it might in some cases also be good to take a look at the :< Document save history

This journal file indicates that the Revit project file has seen quiet a few of different builds of Revit.

     ' 7:< Document save history --> :
     ' 7:<   Revit 2013 2013 (2013.000) : 20120221_2030(x64)
     ' 7:<   Revit 2013 2013 (2013.000) : 20120716_1115(x64)
     ' 7:<   Revit 2013 2013 (2013.000) : 20121003_2115(x64)
     ' 7:<   Revit 2013 2013 (2013.000) : 20130531_2115(x64)
     ' 7:<   Revit 2014 2014 (2014.000) : 20131024_2115(x64)
     ' 7:<   Revit 2014 2014 (2014.000) : 20140709_2115(x64)
     ' 7:<   Revit 2015 2015 (2015.000) : 20150127_0715(x64)
     ' 7:<   Revit 2015 2015 (2015.000) : 20150303_0715(x64)
     ' 7:< Document save history <-- p="">
This family ended up with a more than 6500 standard materials in the file. I did manage to purge it but it took 4 hours for the analysis part of the purge commando to finish.

I was refered to a German site for instructions and a download to do this for you:
delete standard materials
Put it through google translate and you should get it to work.

Thursday, 17 December 2015

Revit file size

In a recently lively debat on twitter we were talking about Revit file size. Let's first state that file size in it self is not important. Performance is what matters. If performance can be defined as: The accomplishment of a given task measured against pre-set known standards of accuracy, completeness, cost, and speed.

Hopefully at the beginning of the project you have defined which BIM use you want to service with this information model you are creating. So the performance of the project will be measured against the intended BIM use.

So no word about file size yet. Why do I care about file size. I use the file size of families and projects for a small part of Revit projects health checks. I take a look at file sizes when I open new projects and see how they handle. I have seen huge Revit files that work like a charm and small files that handle like a hung over sleepy turtle on a holiday. So file size for first impressions. So if I get big files that handle very well than that often is a first good sign that that company has got their model authoring well under control. It's not a guarantee it's just one of the metrics.

Next I like to save the file as a new project and purge them. This tends to give me an impression about file maintenance. Proper file maintenance is good for performance. See image below, an example of a set of files that nearly got halved in size by doing some basic maintenance.
Take a look at this post from Toms hardware: gigabit-ethernet-bandwidth. Every bit has to travel the network. Also be aware that unnecessary big linked files are being turned into even bigger temporary files when a project is loaded. Another performance hit.

When I do a health check I tend to start with the biggest files as statistically I am more likely to find issues. I write reports for companies where they could make improvements. (these improvements can be things like view performance, family content, model management, drawing production, model authoring or others)

I also save all the families out of the project and take a look at their size. There are guidelines about what sizes a good families should be. BUT if you know what you are doing feel free to ignore them. I tend to start with the biggest families first. Big does NOT mean bad. Big families just have a bigger chance of modelling oddities that need to be addressed. Or they have a bigger change of speed increases when improved.

To come back about my definition about performance. If the file handles super fast but it does not serve the intended BIM use than it's performance is bad. If it serves the BIM use spot on but it handles slowly, it performs much better. Of course we all try to find the sweet spot where the handling is great and the BIM uses are being served.

To conclude file size can be interesting for some of us. But I advice you to focus on models that serve the intended BIM use.

Wednesday, 9 December 2015

The future of design is code!

Recently we gave a Dynamo workshop to an architectural office. Quiet a few architects were curious what this visual programming could mean to them.

At one point when we were doing something rather complicated. I was trying to help out this one architect and she looked a bit confused at me. To tease her a little I told her the following: The future of design is code. She looked absolutely horrified at me, specially after I told her she would show this to the head architect and ask him to review the elegance of her scripts. :) Of course that will not be the case. But it will be very important for architects and engineers to know about coding. I am not saying you all have to start C++

I think it's important you acquaint yourself with a language that will facilitate and prove your designs. A tool like Dynamo can help you design, change and modify your project and still complying to specific project constraints.

At AU 2015 in Vegas there were at least 28 classes about Dynamo. Dynamo is getting huge momentum now and is rapidly moving forward.

Start simple!
But consider this, every action that you end up repeating is worth considering automating.

For Revit, Dynamo is only the start of what to come. Many more exiting things are coming. I am very curious of what these start-ups from
will enable us to do.

I started with dynamo quiet some time ago. One of my projects was to design a bridge. At that time I had to rely heavily on excel. Now with more knowledge I can do more and I can do it without excel.I'll blog about it again soon.
A sneak peak:

Happy coding!

Friday, 6 November 2015

Wall joins

In Revit 2016 R2 wall joins received some long overdue love from the programmers.

There is an interesting thing to consider when placing walls. Look at the following
I have create these few walls. The only difference was the creation settings for wall joins. The top were set to allow. The bottom set for disallow.

The interesting part comes when you start to use the join and unjoin tool.

The unjoin tool has no effect up on the walls that were create with the setting for allow wall joins.
Walls that were created with the disallow option can be joined and unjoined. You may keep doing that as many times you need.

Wednesday, 4 November 2015

Export Revit elements by parameter value

I was asked if it was possible to export elements from Revit based on a parameter value. I right away thought of perhaps using filters for this.

To get this to work I did the following:
Create a project parameter (shared)
I was a bit lazy here by assigning it to all categories
  • Create a filter
  • Do not check all categories here because everything will limit your parameter chooses
  • Filter by: Export --> equals --> No
  • OK

  • Add the filter to a 3D view
  • Uncheck the visibity
By unchecking the visibility every element that has the values NO gets turned of. When you export the view you set the settings to only export the visible parameters
Two extra things the Yes/No parameter I have use here has this greyed out state by default.
 An easy way to fix this can be done by schedule.
 Below you see an image of the view with the filter in action
Below an example of IFC export settings

A nice addition to this might be using the extension RTV tools of Jason Howden

Tuesday, 27 October 2015

Rename Levels

There are all kind of tools out their to rename levels. Some free, some not. But I wanted to do it with Dynamo and excel.

Basically read all the levels that are in the project put them in Excel. Create a column for names and numbering, concatenate this and have dynamo put it back in Revit.

Here you see a screen grab from excel. The columns with Level name and Height are being filled by Dynamo from Revit.
The columns Number and Description are being filled by the user in excel. The column concatenate combines the previous two.
The sheet rename is where I let Dynamo read the new level names.

The dynamo nodes look like this: (click on the image)
One side note: it will ask you to rename the views as well. 
You probably have to run the script twice: First get the data in, do excel magic, and the second time to put the names back in Revit.

Tuesday, 20 October 2015

Upgrading Revit files

If you have multiple version of Revit on you machine and you double click a RVT file you might get to see this screen:
I had to read it a couple of time to see what it really sad. Of course I pressed the Upgrade option to see what I would get. Don't worry you can't 'upgrade' a newer version to an older version.
I think we have a programmer who is making use of some variables and he didn't for see this.

Wednesday, 30 September 2015

Civil 3D to Revit with Dynamo

This week I got an idea for a thing I wanted to try with Dynamo. I have some blocks in a civil 3D file. Instead of importing these into Revit I am going to try to get their xyz coordinates and feed those into dynamo and have it create family instances on those coordinates.

First thing I ran into is the fact that civil files are in meters and Revit files in mm. The second thing is that my Revit files, most of the time, have been setup with shared coordinates.

After a long time twiddling around with excels files I got really annoyed with what excel does with the numbers and I switched to csv files. I don't say that you can not get excel files to behave the way you want, it's just that csv files are less cumbersome at this moment.

it's been a while since I have been playing with civil so I had to do a bit of manual editing of which I am sure it can be done automatically. I just couldn't remember how I did it last time.
The image above is from a civil file and you see an alignment with a bunch of objects placed along the alignment. These objects are blocks. I have used the data extraction tool. (part of AutoCAD) The data extraction wizard will create a file with the xyz coordinates of the blocks placed along the alignment. I fed the xyz coordinates into dynamo and had it place family instances into Revit. That made me happy until I realized that was missing direction. The Blocks in civil are following the alignment. XYZ alone are not good enough I need an additional vector. That's where it ends for now because I can't get a vector with the data extraction tool in Civil. But if you have something that is in an AutoCADbased tool and you the xyz information is enough than indeed you could use this workflow.
Donwload the dyn file civil 2revit dynamo file

Friday, 11 September 2015

Model orientation

Several times over the last few years I have received models from people which were modelled orthogonally. When I asked them to properly orient the building they said that that was not possible in their software (read not Autodesk) and that I had to rotate it in Navisworks. 

First of all it's my opinion that anyone supplying a model has to take care of getting it at the right position and at the right orientation. Because any rounding errors will throw of the clash detection. If everyone would make the same mistake it wouldn't be a problem but if some get it right and others don't, than we are in a world of hurt.

Imagine the following conversation at the building site... You wouldn't accept it there either.

Model like you are going to build!

Sunday, 26 July 2015

Navisworks check for shared coordinates

If you are working with Navisworks and you get multiple Revit files from different companies and you want to quickly see if they have all set up the shared coordinates properly try the following.

  1. Set the selection set to properties
  2. goto item
  3. translation.X
  4. translation.Y
  5. translation.Z
If all the Revit files you receive are to use the same defined shared coordinates than you should see one value per axis.
Be aware that the values you see here differ from what you have put in Revit. (at least if you are working, like the majority in the world, in the Metric system)
That is because Revit has an imperial Engine and when revit files get converted to nwc the values should be treated as feet. Regardless of the values the most important part here is that per axis there should only be one value.

Also take a look at these other interesting values in Navisworks.
I have yet to figure out what the relationship between the rotation in Revit and the rotation value you see in Navisworks. But the most important part here is that it's only one value!

Friday, 26 June 2015

Autodesk online viewer

I got a question this week about the ability to see revit files in Navisworks (so converted to nwc) as solids. I claim to know a little bit about the Navisworks engine and therefore I replied that I don't think it's likely to happen that we will see solids in Navisworks.... (Since the conversion turns solids into faces.)

BUT I was playing around with the online Autodesk viewer for some ifc files. (by the way they look good)When I thought let's put a nwc file in this viewer and see how that would look. 
I see solids... oh and they look good. (one small error with the roof) The Stair is going to a floor that has not been turned on in this model.

Just to highlight the Autodesk online viewer 'eats' all these file formats

Autodesk viewer

Friday, 19 June 2015

Instance parameters vs type parameters

I got some comments back on a Revit project I evaluated a while ago. One of their comments was that they could not resolve some of the errors in the model. They said they could not resolve this error: Duplicate Type Marks, their reply: Particular element having different sizes under one type. ????

I got the impression they didn't quite get the difference between instance and type parameters. 

So let me give you a simple example that is easy to understand. Take a look at the picture below. These women have loads of properties but we will focus on two. One of their properties is that they are all a woman. So that's a type property.
The size of their mammalian protuberance is different for everyone of them and therefore an instance property. 

Have a nice weekend!

Thursday, 18 June 2015

Automate the creation of worksets

In my mail I got a nice blogpost about creating worksets with Dynamo. Written by, see this blog: JohnP

I download his package for Dynamo with the nice python script that does all the magic. I used his part and added the ability reading the workset names from an excel file. I made 3 sheets. One for every discipline. The only thing that I have to do manually is that I switch the wire if I want another discipline. (suggestions are welcome)
See the extremely complicated excel file you need to make.... :) 
(Another note, this will only work for Revit 2015 and R2 update and beyond)

The idea behind this is, that in this way you may avoid all kind of typo's for your Revit project files.

Download the Dynamo file here. You might need to download JohnP node separately.

Thursday, 11 June 2015

Revit server and Autodesk accounts

Today I was contact with the following:

We have users that are using cloud render forRevit. Smart!  :)
They are all using the same account  uhoh
They are also working on Revit server...... 


When you login into A360 to use cloud render it changes your username to your Autodesk ID. 

If multiple people use the same account that means you have multiple people using the same username for Revit server! That is a recipe for disaster!

Please create an account per user. There are also ways to create multiple users fast!

Tuesday, 14 April 2015

Dynamo surface area calculations

I got a shape today of which I wanted to know surface areas. This shape was a sat import into a family. Revit will give you a total surface area but not the are of individual faces.

Dynamo for Revit will let you do that. Here is how. Example shape (this was not the shape)

Create this dyn file: (dynamo version 0.81)
The green arrow points to a number slider that will let you control the row number at which you put the data in excel. 
 For this example I select three faces. Press Finish and run and here you go.
Is the area correct? I don't know. I did a little test surface and there it was right.

Monday, 13 April 2015

Shared coordinates check in Navisworks

Sometimes it looks like shared coordinates have been setup correctly. But once you load the files into Navisworks it shows a different image.

go to the selection tree - go to properties - go to item - go to translation.X and translation.Y and translation.Z if it has been done it right there should be only one value per axis. (unless you know what you are doing and you have setup multiple different project base points on purpose)

If it looks like this:
Something might have gone wrong

Tuesday, 24 March 2015

Revit Gaming

For a while now I have had a Logitech G13 gaming Keyboard.

I was playing with it the other night when I decided to see how Revit would respond to it. I got it working within seconds so I thought let's have a go at creating a layout. The tricky part is that you suddenly have to start to think which keys do I use a lot and which one is handy where.
This is my regular setup
It is quite easy to move the keys around.
The M1 M2 and M3 buttons let me switch to different key layouts. So under M2 I placed a layout for detailing. All the green buttons I left the same between layouts as those are more general. I still have to experiment if the layout is nice but it will sure be nice to try.
I could share this layout with you if you like but I also have a custom keyboard shortcuts file.If You have a double monitor setup you can leave the logitech software open for sneak peaking.

Monday, 9 March 2015


I promised myself that when I have hit over 100 post I would write a blog post about future things that might happen to the AEC world. Basically it's a note to myself so I can re-read in a couple of years and laugh about it. Regarding Autodesk I am under a strict NDA. Nothing I will write down will violate this. If I do some prediction that might coincide with plans than that has happened unknowingly.  

I got inspired to write this post by all kind of other future predictions. You probably know them. Quotes like:

"I think there is a world market for maybe five computers."
- Thomas Watson, Chairman of IBM, 1943

What I see what might happen the coming years.

The first Companies will stop making drawings from models. A lot of time is spent on making drawings from models to communicate so someone else can make 3D from this 2D drawing. 

Smarter devices will enter the building site as a replacement for paper prints. (The heresy) They are already out there but they have yet to replace paper prints. I could see a device like an e-reader, but bigger, maybe even flexible replacing paper. What would be the benefits of those? Dimensioning / annotating of a view would not be done by a draftsmen. The person installing/building will have a preference file with what kind of measurements are useful to him. For example. Someone installing a duct will automatically get the measurements from the underside of a concrete slab to the top of the duct. By clicking on a thing he'll see the properties that are useful for him. An extra section to see something? Three clicks.

Another device that might enter will be some sort of holovisor or google glass thing. What will that do? It will overlay the 3D model over the progressing building. Benefits? You will see the part you have to build and the parts that will come after you. It will also work to capture the as built and compare it to the designed model. This would hopefully facilitate coordination of other installations to come after.  I don't think that every builder will get one but maybe a person will run around with it. Maybe people will get an app on there phone with which they will be able to point to a part of the building and they will see the 3D model asn an overlay

People will stop saying BIM model....
People might start talking about an information model. 

Computational Design will grow big and will make designs suffer from fewer changes. (perhaps this is more a wish) 3D printing will change the design language of architects. Computational Design will prove their design goals. (I can already feel architects wanting to drink my blood by suggesting that computers are going to take over design. They are not! It's just a tool to help you, you will remain the aesthetic judge)

Another thing that might happen  is the widening of the technology gap. Companies that are tech savy and companies that are lagging behind. For them I like a quote  from Deming:  (I found out that the quote was slightly different than popular culture has you believe it is.)

“Survival is optional.  No one has to change.” 

or "You do not have to change, survival isn't mandatory" 

and every time I see, read or say it myself I wonder what future developments will make me struggle to keep up...

Friday, 20 February 2015

Civil 3D assemblies and adaptive components

In preparation for a training I got a little sidetracked when I needed to model a road. Relatively sane people would open up civil 3D create an alignment add an assembly and create a corridor. 

When a corridor gets created in Civil 3D, an assembly is placed along a 3D path (combination of the alignment and a vertical profile) and surfaces are generated between every successive instance of that assembly. (in the image below you see a bunch of assemblies placed, without the surfaces)
A simple assembly could look like this one below
With this adaptive component family I can do similar things as with the assembly above.
If we add a bit of dynamo and one of the best BIM tools (excel) in to the mix. Let's place a whole lot of this adaptive component and create a loft between these. (this is not the same road as the one shown above in Civil)

In order to do that I first created an excel file with the coordinates for the adaptive points. For me it worked better if I split the xyz values on different sheets in excel.
I tried an adaptive component with 3 points but something kept going wrong for me so I used a two point adaptive component for left and right.
Get the points together from left and center. Do some list thingies. Tell the adaptive component to be placed at those points.
You will get something like this
Select them all and and press the create form. Do the same for the right side. 

Roads tend to be build up out of several layers. You can reuse the excel data you have for the first and add a dynamo trick. Take the z values and subtract the thickness. The nodes in the green area are copies of earlier work.
Of Course this is nowhere near a real road but if I were to get the xyz values from a corridor surface from civil I could recreate quite a bit of it. 

Some of the extensions are doing this already. But that's not nearly as much fun as trying to do it yourself with dynamo.