They say, “Just produce a Product Data Sheet, no need for BIM Objects”

5 May

The following article is my own personal opinion.  It may not represent the views of my employers.

So, I just wanted to write a piece, perhaps to start a debate, perhaps to just make a counter argument to the increasingly vocal opinions that BIM Objects (3D spatially and visually representative components for use with model authoring systems like Revit and ArchiCAD) are in fact a waste of time and that we should just be producing spread sheets with specification data included in the form of Product Data Sheets.

Firstly, I want to be clear.  I’m all for Product Data Sheets.  The collection and standardisation of data in a common format against agreed parameters is an excellent idea.  This allows us to produce specifications much more easily, and helps Contractors produce asset registrars like COBie spread sheets etc (with quite a bit of mapping with the current PDT standards, it’s worth adding).   So great, big tick the box.

So why do I think making this data available in the form of BIM Objects is a good ideas as well?

Well, I would ask three questions (well more than three, but let’s not get caught up on that!):

  1. Have we maybe lost sight of the fact that information is useful in not only building operation, but in the design and construction process as well? Drawing production, scheme design, public consultations, analysis (Environmental, Structural, Acoustic etc.), visualisation, clash avoidance, fabrication.  Wasn’t one of attributes of good BIM process that got us all excited in the first place, the idea of reutilising information for many purposes to drive efficiency, accuracy and provide a better deliverable?   Wasn’t it about not constantly having to re-input the information?   From what centralised dataset are the deliverables from these activities coming from?
  2. Are spread sheets of specification data not, erm, a bit “old school”, a bit last generation and a bit disconnected from the supposed coordinated digital design and construction process? To get the information from these formats, don’t we have to open up lots of sheets (or have a script do it) to map our information into the correct place?  How does it relate and align to the design? Is it indeed even in the “spirit of BIM” process?  Does that not seek to minimise the data collection effort through a series of controlled “data exchanges” that go on throughout the buildings Plan of Works?  Should we in fact be looking for this information to appear at the end in a PDT?  Or rather gradually build up the data over the project life cycle?  If so, were does our element place holder typically reside?  Would it not actually be better to centralise this information in online databases, that follow open and understood schemas (like ISO 16739), were we can access the information as required and transmit into were ever it’s needed?  Which of course could include the objects in models.
  3. Yes, it’s true, specification of products comes after the period when the model is initially been put together. Maybe that is a fair objection then. Is it not true that that design models need accurate representations in them however?  Is it good designers not having content to convey their design intent? Should we have doors (for example) that look nothing like the Architects intent or should the Architect spend a lot of time building lots of custom content?  Is that efficient? Do designers in fact influence product selection? (Leading question, as I know from personal experience and many years working for Structural Engineering practices that they most definitely do – many products we listed with “or otherwise approved” were exactly the products that ended up on site.)

Open questions, I welcome responses in the comments.

Don’t get me wrong, I don’t think BIM Objects are perfect.  I think in fact there a bit of a pain in the backside! They are difficult and time consuming to produce and to maintain, particularly the data within them.  Whenever I’m speaking to people considering producing BIM Objects, I tell them, the process of doing this isn’t put to bed yet. We are still learning, standards are still changing and technical process is still evolving.   For example, we need much better ways to produce objects over multiple formats and also much better ways to communicate with these objects, including alerting users to information being changed and giving the option to update that information.   These are challenges I’m spending a lot of time looking at and working on.  The good news is there are some clever boffins out there putting together some equally clever solutions around these very topics.  I think we are just a short while from these workflows been common place. Indeed, I think data management in the digital design and construction process will become a very competitive area.

But, even as it stands now and alongside other efforts like Product Data Sheet production, I do believe that the production of objects for BIM platforms, like Autodesk Revit, Graphisoft ArchiCAD, Teckla and the like, is a pro-active way for manufacturers and suppliers to be engaging in this process.  By doing so, they are adding real value in providing spatially correct objects with information useful to their target audience embedded in them.  Indeed, I would like to see information requirements extended to include not only information useful in the asset management phases, but also analytical properties be added to aid more efficient and sustainable design.

This article is open to challenge and comment – indeed, I encourage it!

BS1192-saga continues-Project Info and has Zach Kron solved distribution?

9 Jan

Too part post this one.

Firstly, in the spirit of sharing the Dynamo learning experience, Jon Frost, another fellow MRUG committee member (fast becoming the Revit and Dynamo Committee!) has posted his first effort, which took the BS1192 concatenation definition,  only Jon’s Revit template uses parameters from Project Information.

Next, while looking at ways to work practically with Dynamo I watched Zach Kron’s class from RTC USA on YouTube, were he talks about a potential add in that MAY solve distribution.

Jon’s definition first;

The definition can be downloaded from here;

For this definition, you will need the following parameters or change them in the definition;

In Project Information;

  1. 01.Project
  2. 02.Originator
  3. 06.Role

In the Sheet Category;

  1. 03.Volume/Zone
  2. 04.Level
  3. 05.Type

In Jon’s own words, this is how it works;

1. Split the BS1192 number into 4 sections

a. First 2 parameters ’01.Project’ and ’02.Originator’ are obtained from the project information category

b. Next 3, ’03.Volume/Zone’, ’04.Level’ and ’05.Type’ are obtained from the sheet category

c. Next ’06.Role’ obtained from the project information category


d. Next ‘Sheet Number’ obtained from the sheet category


2. I used string.join to concatenate each section resulting in 4 lists


3. Because there was only 1 instance of the project parameters I duplicated these parameters by the number of sheets I have.

a. Used list.count on one of the lists derived from sheet parameters to determine the number of sheets

b. Used List.OfRepeatedItem to duplicate the parameters.


4. This resulted in 4 lists, the 2 derived from project parameters needed flattening using List.Flatten


5. These 4 lists were joined into 1 using List.Join


6. I then needed to transpose this list using List.Transpose to get the parameter in sublists per sheet

7. From here String.Join and Element.SetParameterByName as Rob did.


So can Jon’s definition by refined?   Does it work well for you?   Comments please!

The distribution problem!

So, the “Elephant in the room” with all of this is that it can’t be easily implemented within a team of non-Dynamo users.

Dynamo has done an excellent job at making automation / computational logic accessible to those of us who are perhaps not coding gurus, writing API app’s for the fun of it.  If you do know how to code, then Dynamo can offer a great way to perform a “functional specification” for your development, in other words test a process live within the Revit software before writing the coding for it.

However with its node structure and visual style, its really suited to the type of thinker often present in the building design disciplines.   So it would be really nice then to make these practical definitions useable in our whole team, without the need for hard coding.

So I started exploring options here, and reached many dead ends.   From a technical perspective, as explained to me on the Community (a another excellent resource for learning), it is not currently possible to compile a Dynamo definition to code and there would be a number of technical hurdles in doing so (Suggest reading the thread if you are interested in the technical)

So a dead end?   Well, I was pointed in the direction of Zach Kron’s class at RTC USA.    You can find it on YouTube, I’ll post the video at the bottom.   At about 33 minutes in Zach talks about an add-in that he is working on called Manage Family Scripts.   This, appears, although it is not released to test yet, to allow us to run definitions live within the software!  A potential breakthrough in distribution, at least small scale.

I asked Zach if we could have it and the answer is, currently, that it s a prototype, waiting for release.  So watch this space; hopefully!



BS1192 concatenation–it’s nice to have clever friends

6 Jan

So, before the Christmas break (Happy New Year and all that!), I posted my first attempt at a practical Dynamo script in the knowledge it was far from perfect and in the hope that it would prompt some discussion.   And it did!  I’m fortunate to have many clever friends in the industry, one of which is my fellow MRUG committee member, David Wood from Chapman Taylor – who is a bit of a Dynamo and coding guru.   You can read his own blog here.

David picked up on my definition and took at look and made some changes.  His version is simpler to read first of all, but also adds the functionality that I was lacking, which is to update all the sheets at once.   I’ll go into that in a minute

But in more good news, another clever chap, Mike Turpin, the BIM Manager for Capita sent me across an app that he is working on that does the same thing as these Dynamo definitions.  But of course, been an app it can be distributed.   I’ve tested it and under the right conditions it works perfectly, there are just a few errors to bottom out and then Mike intends to distribute via the Autodesk Exchange Store.   So watch this space so to speak.

Right, so David’s definition which can be downloaded from here;

First of all to get the parameters (see previous post to see what parameters are needed), David elects to use a code block rather than individual parameter nodes like I did, this tidies things up which he then links through to  the Element.GetParameterValueByName node which grabs the values of all these parameter (i.e. the Level of each sheet) and put it into a list;



Also, rather than my method (which I suspected was a weak point) of selecting the view to work with, David’s definition just grabs all of the Sheets within the model by selecting the Category and then All Elements in the Category;


It then moves to use the String.Join node, rather than the String.Concat node that I used to join the parameter values together with the “-“ dash separator.    As David points out, “The neat thing about the String.Join is that it takes the separator input, um, ‘separately’, which allows you to feed it with a list of strings to join”.


Finally, very much like my own script, he takes the value and adds it to the BS1192 Number via Element.SetParameterByName before


Of course, the list of Sheets is in the same order as the Concatenated strings, so he then uses List.Combine.  The result!  Run it once and all your sheet get the correct BS1192 Number.

Great, many thanks David!

Any more refinements, please do comment!

BS1192 concatenation for Revit using Dynamo

24 Dec



  1. BS1192 containers and reason for concatenation
  2. Why Dynamo?
  3. The BS1192 Definition

So, it appears I only blog when I’m about to go on holiday, i.e today which is of course Christmas eve (Merry Christmas and all that) or when I’m on holiday, like my last post sent from my summer holidays.   Its probably testament to what has been such an exciting and diverse year working for the Excitech Consulting team on a number of great projects.    Next year, the last before the 2016 Level 2 mandate promises to really push us all – I’m looking forward to the challenge!   I might even manage more than 3 blog posts!  No promises.

So what Christmas has done has given me time to have a proper go with Dynamo.  I’ve messed around with it a bit in the past and have always been impressed with its capability.  I sat on some excellent classes at RTC this year that really taught me a lot, of course there was a lot of the obvious, advanced geometric control, but things I hadn’t considered like using it for pushing clash results from Navisworks to Revit and auto-cutting service voids (love interoperability workflows like this!), using it to evaluate IFC and for data management and parameter control.  This includes a function that is missing (v2015) from Autodesk Revit, concatenation of parameters.   If you don’t know what this is, it simply means to take multiple text parameters and combine them into a single string.   What do we know in the real world that we may need to do this with?  Document numbering to  BS1192 (British Standard) “containers”.   Which are as follows;


imageMany people want to fill these out in individual parameters so they can sort their Revit project browser and to extract information individually (the basic premise for using containers in the first place).  But at the same time, we often use the containers to create a document number, which may look like the number highlighted in the red box;


Why Dynamo?

The workflow for achieving this document number would be to concatenate the containers into a single parameter.  There are two ways short of badgering Autodesk to include it as native functionality in Revit.  We can use an external software or script to generate this or fill out the parameter manually.  The last option is very unappealing, and the first somewhat difficult to implement unless you are a coder.  This leads to people just using the “Number” container for their document number or scrapping putting containers into their own parameters and just filling out a single long parameter, losing the ability to easily sort and extract by the containers.

The various methods open to us in Autodesk Revit (not Revit LT due to API restrictions), these as far as I can tell ;

  1. API Development (external software app) using VB or C#
  2. Macro using Python or VB coding
  3. Dynamo visual programming

Each, have their strengths and weaknesses.  The API development is by far the best in terms of distribution and usability.  If you are a coder, go with this.  But if you are not, its not easy to learn how to do with all the other distractions.  The Macro is probably the weakest option in my opinion, it can be distributed even installed into your template but Python is also not that accessible to the average user and you can’t put a button on it.  Dynamo is however accessible and relatively easy to use, and I have high hopes that it will bring customisation to the masses. Within a day of using it  you can put together some pretty good functionality.  The learning videos are excellent.   The last hurdle that I think it has to undergo, and this is not possible as far as I can tell currently, is to compile this into a macro or app for distribution.   Hopefully, that will get added, or perhaps somebody knows how to do this already?   So really, this Dynamo definition is in some ways, not useful yet, but a bit like all good learning opportunities, hopefully once we find useful ways to do something we can further enhance to make it real world useful.

The BS1192 Definition

You can download the definition from here.

imageThe definition requires the following parameters be installed into your Sheet category within the Revit project or template;

  • 1-Project
  • 2-Originator
  • 3-Zones and assets
  • 4-Levels and locations
  • 5-Type
  • 6-Role
  • BS1192 Number

The script uses the hard coded “Sheet Number” for the number container.

Alternatively you can rename the parameters in the definition if you wish to suit your own parameters.


It works by the user selecting the sheet (listed here by the sheet name)


Then it sets via a list, each parameter as listed above in that view and flattens the values by extracting the first value.


It then does what Revit can’t, it concatenates these strings, adding a “-“ between each value


We then set the BS1192 Number parameter to the value of the concatenated string using the same View (sheet) that we selected  as the elements


The result if you run the definition is;


If you select the “Run Automatically” function, you will find that you are able to change the individual containers and the BS1192 Number will automatically move forward.

Simple as that.

If you are an experienced Dynamo user, while reading this ask yourself these questions, I would really appreciate any comments. This is a day one attempt, so will certainly have problems. This post is all about promoting a discussion.

· Can the process be made more efficient?

· Can the process of view selection be automated, i.e. when I go to a sheet in Revit it automatically chooses the view?

· Can we apply the concatenation to all sheets in one operation rather than going sheet to sheet and still keep the individual sheet numbers?

· Is it possible to compile this to a macro or VB/C# code?

Many thanks for reading;

Autodesk Revit Site Design – my thoughts

19 Sep

So, here I am sat in a holiday cottage in Devon writing about a bit of new Autodesk software, Site Design which appears to be a new Revit 2015 (subscription only) plugin released in the latest update, R2. So why am I writing about this on holiday? Surely this is simply good news!? Site tools in Revit? The one box solution for Building and Landscape Architecture we have being waiting for.

The problem is the software is based on Eaglepoint Siteworks which I have a few years experience with. I have used it, trained it and worked with customers with. Firstly, its good at what it does, I don’t dislike it but it has some quite big draw backs which you need to understand (I outline the main bits below) before relying on it, otherwise you can find yourself in the midst of quite tedious and unnecessary workarounds that could cost you in the long run.

I personally believe that an Architect or Structural Engineer who wants to engage in Landscaping and master planning should look at Civil 3D with something like Keyscape. Immediately I get shouted at for this thought. 3 bits of software?! Learning curve! Cost! I want it all in one box, like everybody else (we then hope they don’t look at what contractors, electrical engineers, HVAC fabricators, QS’s, steel fabricators etc. put up with). This isn’t helped as some people in my profession will pander to this for fear of losing your custom. As a consultant I believe in giving you the best workflow and advice for long term gain not just the route of least resistance. This occasionally gets me in trouble, as I talk about later. I do agree that this is a little “involved”, and as somebody who knows both bits of software I understand the productivity implications, I talk about this a bit more in terms of training but I don’t have any easy answers here. I would love to see a viable Revit solution or single box LA BIM solution, as those who keep up with me on a Twitter (@clarkrob) know, I just don’t think we have it yet with this latest plugin.

The Autodesk Suites have enabled us to access these tools (Keyscape, if needed can be purchased separately) and more, and like building a real asset we can use many tools to do the job properly. The Suites for me were as stroke of genius from Autodesk (see I don’t have it in for them!) and I wish we as an industry would learn how to make better use of them. You do not, no matter what your training provider tells you, have to learn ALL of a software to effectively use it for what you need. It surprises people when I say that I can teach most competent people enough about Civil 3D in a day to do most of what Site Designer does and a few other bits aside. It will take you at least that to get to grips with Site Designer. Things like a Keyscape are frankly not rocket science either. At the end of this, I strongly suggest you would be more capable, more efficient and better able to deliver and coordinate.

So hang on a minute! Get a suite (infrastructure), you’ve got the dedicated software. Same learning curve. Better ROI, no hacks and workarounds, far greater capability. Ah! Anybody see why I’m getting on my soap box about this yet? I’ll continue…

So then came my real mistake. Via Twitter, I suggested that the limitations in Revit / Siteworks / Site Designer would not be immediately understood and therefore I felt that Autodesk had made a mistake as this new bit of software would cause confusion in an already confused market (why I stopped recommending Siteworks in the first place) and thus frustration and complaints. I won’t go into the details of the replies, but at one point I was accused of suggesting Landscape Architecture was for hippies, among many other comments. As somebody who has been advocating the need for effective BIM solutions for LA for a long, long time, it made me smile.

Anyway, among all of this was some legitimate comments, such as “I don’t really care about BIM, I just want model some externals”. When I made my comments I was originally talking about Landscape Architects, rather than somebody that might want to just visualise a site conceptually but it’s still worth understanding what you can’t do. Especially as you may need to transfer your design later in the plan of works.

So I wanted to take this opportunity to turn quite negative experience into a positive and hopefully show those whom for some reason believe I’m being obstructive that I am in fact trying to help. Please feel free to read though my experiences below and then make your own decisions. It is these limitations which caused many negative comments from people that used it to me. I will caveat this with one thing. This is based on Siteworks and not Autodesk Site Designer, which because I’m sat in a holiday cottage in Devon I haven’t managed to test yet.

Good stuff

Excellent topo editing tools including the ability to add break lines to create flat surfaces, ditches,
Can easily edit these topo edits
Fiddly and limited but useful retaining wall functions
Clever wizards that create basic roads out of mass, including slopes, basic curves and even re grade the surface. Includes basic junction ability.
Robust LANDXML import and export which will improve interoperability with Civil 3D packages.

Not so good stuff

Sectioning through topo in Revit is messy unlike the clean presentation in Civil 3D. You struggle to get single line. Further you can’t multiply the Y axis to demonstrate the contours of the site in section. Also you can’t run multiple sectioning along a site alignment.
Presentation of surfaces is poor.
No UK landscaping database, like available in the Keyscape with its Revit plugin.
Topo quickly gets heavy in Revit. In my experience even on mid sized sites this causes crashes and significant editing times. Although I note Autodesk say they have improved the editing. Still best to utilise a separate site model to reduce instability in my opinion.
Trust and accuracy. Especially on flat surfaces, I have frequently seen it not triangulate properly and you get incorrect level read outs. You can add additional points including via break lines but no triangle editing capability.
Very poor road and path editing. Cant use anything but very basic assemblies to create road and path sections. Further you can’t add widening that are present in most schemes. Very low complexity junctions only. Editing roads can take a very long time. Incredibly easy in C3D.
Roads cannot be designed to UK standards easily, no super elevation.
Revit won’t show patterns in materials in plan. You need to manually add and lock regions to things like slabs (hack)
No site utility functions. You can use MEP services as a hack but very difficult to position. No ability (other than line family hacks) to add letter based line styles, for things such as gas lines and site boundaries.
Presentation of retaining walls is clunky and it doesn’t get the topo layout correct leaving you to manually edit.

Doesn’t have the LandCADD tools by the looks of it, (anybody care to confirm), these would have included

Fencing (like a 3d repeat detail component) and surface following components such as site furniture and planting
Planting growth simulation.
Basic planting books

And if we want to talk BIM. Uses information free masses for infrastructure. These also will not be transferred for continued editing, so dead geometry. No GIS or point cloud capability (for surfaces). Can transfer via LandXML meaning surfaces. Families obviously carry parameters in the same way.

So all in all. I would have preferred the right tool for the job approach for using Civil 3D and Revit together, perhaps even utilising a Site Designer functionality like LANDXML export and import. I honestly believe you will be more efficient, be able to deliver more and have a much better ROI. However I would also suggest that the Site Designer tool is good at many things, you should just use it in full knowledge of what you are committing too. Don’t treat this plugin as Revit for Landscape Architecture or Revit Civil Edition would be my final advice.

Hope that’s useful, comments including pointing out of of date info welcome.

None of the above constitutes a direct recommendation and may not reflect the thoughts of my employer. Please contact Excitech Consulting for an assessment of your workflow, mentioning this article for specific recommendations. Excitech do not support or resell Keyscape. . Written on an ipad, sorry for any errors.

Revit 2014 Update 1

19 Jul

The Revit 2014 Update 1 is out.  Several stability fixes are in place.

Links are as follows;

Revit 2014 (part of suite) – Link

Revit Architecture 2014 – Link

Revit Structure 2014 – Link

Revit MEP 2014 – Link

Over 50 video based Revit tips and tricks from the RUGS!

11 Apr

The Manchester Revit User Group ( has being running now for a couple of years, now on meeting eight. The Midlands Revit User Group ( has being running for around six months and is onto its third meeting.  In all of these meetings there have being Revit tips and tricks sessions. 

The purpose of the sessions are for users of the software to show off a hack they have discovered that allows them to achieve something that perhaps that developers of the software didn’t think of, or they did but maybe didn’t make obvious.  Its a very popular part of the meetings.

These are presented as videos that the presenter talks over.  I realised that I had all these videos and while not narrated, they are still interesting to watch and there is a lot to discover in them.

As such, I have uploaded the videos, over 50 of t hem.  You can download them here.  Warning!  It is over 500mb file, and over a gig uncompressed.