It is a beautiful time when you dive in a project where all the consultants involved are fully BIM enabled and thirsty to make those schedules work beautifully not only for the QS, but also for your strategy drawing showing several models owned by entirely different parties!

If you spend long enough in an environment like this it is easy to forget there are still practices working hard to keep to deadlines with 2D data and endless drafting and coordination.

We spent a day at the RIBA Road Show recently and we got reminded that there are still companies needing convincing about BIM, so we thought we should ask ourselves that question again – Why BIM – it’s always good to question your fundamentals from time to time. Here are our unfiltered thoughts:

First let’s note BIM is NOT a software – Revit is not equivalent to BIM, neither is Archicad, or whatever you may want to use. BIM is a process that demands collaboration at an early stage between all the consultants at an early stage of the process. The idea is to digitally build the building before you physically do, because boy, is it cheaper to move a digital duct than it is to have to deal with that kind of thing in real physical life. I know that for many the word “cheaper” doesn’t really come in mind when you think of the software prescriptions of BIM or the amount of work that it seems to require. But trust us, the bottom line at the end of a project will show you that this is the case, you actually have spent much less time coordinating and you have saved so much on on-site issues. The work simply has moved forward in the process.

*diagram inspired by

Having said that, we do have to look at the software that comes with BIM. We are big fans of Revit around here. The Archilizer team has been committed to Revit since 2009 and both of us have not been able to shut up about how amazing it is purely for drafting. This is one of our favourite videos that illustrate this in clear numbers:

Why would you ever draft in 2d?

Coordinating everything consistently and in 3D environment and including that sweet sweet non-graphic information allows accurate building analysis early! All those standards that we want to meet and overspecify for – LEED, PassiveHouse, WELL ect, – this is what can help us target them with accuracy and efficensy. Ain’t no body likes a surprise at their Air Tightness test – what an embarrassment!

Treating the information about a building as an asset is priceless in the running of the building. The BIM-FM relationship is still young, but it promises to be a love story of a life time – no “The Notebook” shenanigans, actual Michelle and Barak of steadiness and prosperity.

Having revisited our fundamental question, we are very much still into BIM and can’t wait to share our enthusiasm, especially on the last point. We are looking forward to a BIM for FM event soon and will review that soon after.

Archilizer visited an exciting event in the end of April – the launch of a new group that unites legal professionals and technical BIM experts – BIM4Legal.

The group was born from an interesting peace of research – The Winfield Rock Report, commissioned by the BIM Alliance. We loved the spirit of the event. The message that seem to really hit the room was “Everybody thinks that everyone else knows BIM much better than them, but really we all have serious gaps in our expertise and we should ask more questions.”

The main perspective of the report is legal, however, Sarah Rock, one of the authors is also a qualified CAD engineer. Contractual documents can really impact the design process – after all we are all working for deliverable and that is where they are defined. More than anything the BIM process is about collaboration and that wide involvement of all consultants, and we have all experienced the difficulties when it turns out that Mr A and Ms B have entirely avoided to agree to that real time collaboration in their contracts.

Here at Archilizer we have seen BEPs and BIM Protocols of all shapes and sizes and we see beauty in all of them, but we also have strong opinions on what can make them better. The discussion about weather the BEP should be a contractual document was alive and kicking that night.

We highly recommend you should check out the Winfield Rock Report.

When managing projects of non-small sizes, one of the tedious routines that you are required to go through is to somehow match information that is part of the project’s Sheet set and its View set. The idea of cross-referencing data between various elements is native for information management, yet Revit does not yet cover that aspect for us. Dynamo, however, does (so, in a sense, Revit does. Duh).

Traditionally, we could approach that task as follows:


  • load all sheets
  • load all views
  • for each sheet and view, see which view the sheet is sat on and finally
  • check if the corresponding parameters match and if not
  • do something (make them equal)


Now, there is one little bug that has been migrating with every update of Dynamo, and the brand new 1.0.0 (Congratulations!) version still apparently still got it – when retrieving elements by Category, the View Category will spit a message which states that Template Views are not Views. That’s fine. There is an even nicer node that simplifies the task for us:


What this node is supposed to do is to only select those Views that are place on the set of Sheets it is given. Now we can skip a step, retrieve only the Views that matter, and continue with our cross-referencing. .. but this node ,too, does not work.

That’s also fine. Here is the solution to the problem, written in python code.

.. and here is what the definition looks like:

What we did here is that we collected all the sheets in the project, using the Dynamo node of retrieving All Elements by Category, then we fed the resulting list together with a couple of shared parameters, which both the Sheet and the Views of the project use, and we executed the python code which, on one hand matched the information of those shared parameters, and on the other, gave us a handy list of ‘failed’ views. Those ‘failed’ views are simply the views that had View Templates assigned on, controlling and thus ‘locking’ the shared parameters.

While we are on the subject of python and getting instance parameters from elements, I want to point out the correct (at least for now) way of doing it.

The general syntax of this command in Python is:

element.Parameter[“Parameter Name”].AsString() – to get (can also be .AsInteger(), .AsDouble()) the parameter, or

element.Parameter[“Parameter Name”].Set – to set the parameter.

This is important to know as a lot of times Dynamo tasks revolve around Parameter manipulation and there is hardly any information out there that explains how this can be achieved in Dynamo with Python.

I hope that custom Dynamo definition can be of help to you in your BIM journeys my friends! Good night and best of luck.

I have been doing work for a Doha-based practice for the last couple of days. It was a short gig, an in-and-out operation to help the team push through a rough deadline and since I was the one setting up their Revit Model just a month prior, I was in a great shape to take off the pressure off their team. The workflow was a bit more complicated, as we were working off a cloud repository, which allowed us to use the same Central Files, but required a bit of planning ahead. Aside from that, what I found quite annoying was the constant error messages that I kept running into – many times their inexperienced team would forget to relinquish certain elements, which would freeze my progress for short but increasingly more frustrating periods of time. I reached my limit of Skype requests soon enough, so I did the only natural thing – I Relinquished All Theirs. Here, let me show you how this can be done – it’s really quite simple.

By default, the username that Revit assigns is taken from your Windows login account. Let’s assume that your account name is ‘janeroe’. Your handsome colleague ‘johndoe’ from the 3rd floor has been playing with the Central File the night before and is now late for work. You get an urgent memo from your boss ‘hereyougo’ saying that you need to change the grid of the curtain wall system. You dash to your Revit icon, open the local file (which now takes 2 minutes in which you start to silently panic), Reload the Latest changes, as you should. You open the view, head to the curtain wall and the moment you try to unpin the first grid line, this error message greets you from the screen:

What you do next is the following:

  1. Open a new Revit session.
  2. Go to big ‘R’, Options and under ‘Username’ change the name to ‘johndoe’ (or whatever the name of the user that has the rights of the element is in your particular case).
  3. Go to ‘Collaborate’ tab, Synchronize with Central -> Relinquish All Mine -> head back to your other Revit session -> Reload Latest there and see if you can now edit the element. You should be.
  4. Go back to the extra Revit that you have opened with the ‘johndoe’s credentials. Close the file, change the user back to your original username and close the program. You can now keep working in your local copy.

You shouldn’t do that all the time or recklessly, those limitations were set there for a reason. This is a last resort measure that can save you at times of trouble. Normally, if you have your colleague within earshot, the right thing to do would be to ask politely for a Relinquish.

I hope that you find this tip useful! Have a great day and be nice to your colleagues.

Hey folks,

Today I am going to show you how to reveal all levels in a Revit project, because:

  • Have you ever opened an Elevation or a Section View only to find that your levels have miraculously disappeared?
  • And then opened every single section and elevation, but couldn’t quite figure where they went (pondering on the meaning of the words ‘propagate extends’ for at least few minutes)?
  • Googled ‘CAN’T SEE LEVELS REVIT’ to no avail?
  • Wasted time, money, hair and youth, but never got a satisfactory answer on how to make those pesky levels appear on your command? 

That scenario is so common that I finally took the time and came up with a bullet-proof, panic-free, robust solution that I now use every time the proverbial composting material hits the fan. I am going to explain to you how to do it, but I need to warn you that there are many reasons why something can be hidden in Revit and I am not going to attempt to cover all of them here. My favourite article on the topic is the 33 ways to find stuff, although you should know that this number is even higher. So, without further ado, here is the algorithm:

  1. Open your file, open a plan view, make sure that ‘Elevations’ and ‘Scope Boxes’ are turned on from the Visibility Graphics interface.
  2. Create a new elevation (View Tab/Elevation View) (it can be a section too, but let’s stick to elevations). Create a new scope box (View Tab/Scope Box).
  3. I prefer to do this in a 3d view, but you can do it in an elevation view just the same – your goal is to adjust the scope box so that it ‘contains’ all the levels inside its horizontal boundaries. This means you need to stretch the bottom and the top grid of the scope box – the bottom needs to be below the lowest level and the top – above the highest one.
  4. Now go to the newly created elevation view. Let’s take the worst-case scenario, in which no levels are shown. Create a new dummy level (shortcut ‘LL’). Don’t forget to delete this level after you are done with this exercise!
  5. Select the level and right-click -> select all instances in the project. (shortcut ‘SA’). You should observe that you have selected at least several levels.
  6. With all the levels selected, go to their Properties and assign your brand new scope box. You should now see all your levels neatly aligned within the boundaries of the scope box!
  7. In addition, you would want to repeat steps 5 and 6 for all your level types. Let me go back a bit – like any other element in Revit, levels can have multiple types. The command ‘select all instances’ implicitly says ‘of this type’ and therefore, in order to reveal all the levels in your project, you should repeat the above process for all level .. types (and so for all instances of those types).

That’s it! It wasn’t so hard, was it? What you would like to take home from this lesson is that scope boxes are a great way to control your datum elements and you should learn how to use them to your advantage. Of course, handling multiple scope boxes can be cumbersome, but that’s a topic for another discussion.

I hope you enjoyed this little Revit tutorial – have fun revealing all your levels!