4D planning

A 4D construction, or planning simulation, include everything referring to the integration of time-related data directly into a 3D building model.

One of the most broadly used functionality of this kind of model is to present the main planning. A 4D model is always a great communication tool to present the construction schedule. Clients love these animations in which they can see their future building growing. You might have seen the procedure for building the new Chernobyl cover made by Vinci  and Bouygues :

But to me, the most interesting and realistic feature of a 4D model is the analysis of specifically tricky parts of the building. Define formworks rotation and positioning in intricate areas is commonly realized with time-based clashes detection, in order to optimize casting of complex shapes. A 4D planning can also be used for creating virtual mockups of complex building system (façade elements for example) and simulate their construction procedure.

There are a lot of talks around the concept of 4D BIM these days. All project managers crave for precise schedules and quantities estimations, and linking construction planning tasks with building model objects seems the best way to achieve it.

But, with regards to my experience in the matter, carry out a trully usefull 4D model can be very challenging. Make a movie from your roughly defined 4D model is pretty easy, but divide your model cleverly enough in order to link each element to its task in the general planning can be really painful.

I am used to the TimeLiner tool in Navisworks to create a dynamic 4D model for presentation purposes. If a property like a task code is already defined in Revit, the procedure is quite easy; you just have to import your Gantt diagram from Microsoft Project and your model from Revit in Navisworks; then automatically link them together using this task code. If no properties are defined, linking objects to tasks has to be done manually, and it is a long and pretty boring process.

Navisworks Optimization

Since I have been using Navisworks for clash detection, I have tried to find out how to optimize my results, in order to avoid sorting manually thousands of irrelevant clashes, and export a proper final report.

First of all, the model itself seems to be the most important part for clash detection. Modeling all openings in structural elements in order to avoid sorting all meaningless intersections with MEP features is a major prerequisite. But there are many other best practices for modeling in order to make the clash reviewing process easier, such as defining precise modeling rules for structural elements connections (joints between beams and columns, or intersections between columns and slabs).

But still, even with the most carefully designed model, you will probably still have a lot of clashes to sort.

This is when a good workflow for the whole team is important. Some plug-ins, like the Navisworks Keyboard Shortcuts found on BIM Manager, can be very useful at this point. For our part, we used to make a first sort by ourselves, eliminating obviously irrelevant clashes and roughly grouping other ones by location, then transfer to the coordination team for review.

This is when a good clash report is needed, along with the model. The standard html report extract from Navisworks was missing some information, mostly about plan location, and we were asking for an Excel format, so we developed a VB.Net application to exploit results from Navisworks.

We first parse the .xml report in order to extract main information about clashes, such as names, coordinates, trades involved and so on, and then paste them in a formatted Excel template. We also add the Navisworks screenshot.

Using the coordinates of the main 2D grid lines, we are able to automatically identify the localization of the clash, in order to find it easily on the 2D shop drawings if necessary.

With this report and the .nwd “snapshot” of the model, the coordination team was able to work efficiently on these clashes, especially for intricate parts of the building where 2D drawings are almost useless.

I still have to run tests on the 2013 version of Navisworks which integrate 2D grids directly on the model, hoping this will improve our process.

Geometry Gym

I was talking on a previous article about the Grasshopper plugin develop by Jon Mirtschin called Geometry Gym.

This set of tool for building modeling firstly came as a plugin for Rhino, implementing commands for designing structures and linking these models to structural analysis software.

These tools where integrated as commands in Grasshopper, allowing generating building elements parametrically, a very interesting feature at an early stage of the project.

But for me, the most interesting part of this plugin is its ability to generate IFC files into Grasshopper. A large part of the IFC classes are implemented directly as Grasshopper functions.

By combining these functions, we generate the structure of our IFC file exactly as we want it, and if our favorite BIM software is known for missing some IFC classes, we can still use a workaround by designing yourself your IFC data structure.

Using this plugin requires a little understanding of the IFC data structure, but examples can be found on the Geometry Gym blog, and are quite self-explaining.

Combined with the building modeling tools described above, it provides a powerful way of designing building, especially at the early stage of the project.

Geometry Gym came also with various plugins used as bridges for other BIM software

The plugin for Revit implement a new IFC Import module, especially design to import files generated in Grasshopper. This allows integrating native Revit element from an IFC file.

There is also a direct link with Tekla, use to generate native Tekla elements directly from the Grasshopper model.

If this software need some time to get used to it, and a little knowledge about the IFC Data structure, once taken in hand, it become powerful enough for replace any conventional BIM software, at least at the beginning of a project, and especially for complex shapes and structures.

About Tekla Structure


I just came out of a week of training on Tekla, and I feel like talking about it. As you might expect, Tekla Structure is a BIM application mainly oriented toward structural modeling and detailing. Originally design for modeling steel structures, it’s now also covers concrete structures, execution drawings extraction, and model reviewing features.

Far away from code-driven geometry and other parametrical modeling stuff, Tekla is practical. Ok, you cannot generate thousands of roof panels with a nice piece of .NET, but a least, you don’t spend fifteen minutes to draw a wall. This pragmatic approach combined with powerful drawings generation features, made Tekla a real construction-oriented BIM software.

Since its acquisition by Trimble, a company mostly knows for its GPS, lasers and other positioning hardware, Tekla had developed a great deal of applications for the construction site. Fully integrated with the Trimble hardware, it allows adding topographic points to a model, generate new coordinates for the layout, and export them in a Trimble tablet to implant them directly on site.

But what impresses me most is the execution drawing generation. Once you have drawn the few beams of your future greenhouse (for example), liked them together with the automatic assembly tools, you are just a click away from generating all the drawings you need. Basic templates include general arrangement drawings, single-part drawing or assembly drawings, but you can also fully customize your production regarding the needs of your design office.

But being pragmatic does not in any way prevent Tekla from being smart, and it comes with a large set of parametric components allowing designing quickly every details of our structure. And if these components are not enough, you can also design your own, with an interface looking like the family editor of Revit.

Nowadays, Tekla is broadly integrated into design offices for steel detailing (even in France …), and since its acquisition by Trimble, it seems to becoming the most site-oriented of BIM software.

Digital Project Automation

Aside from a lot of features, CATIA, and so Digital Project, comes with powerful automation tools.

Knowledge Templates is a programming language interface, tightly integrated into CATIA, allowing adding rules on a design. You can link various geometrical parameters to a single one which will update the whole geometry regarding its value.  For example, we used this functionality to create a rule which change the section of steel beams regarding their position in the whole structure. These rules are part of the CATIA tree and are automatically updated with design changes. You can also use them for calling more complex automation code written in CATVBA.

CATVBA is the programming language of CATIA. Based on VBA, it came with a developing interface looking more or less like the Excel one, and made any development pretty easy. Most of the functions of CATIA and Digital Project have their equivalent in CATVBA, and you can use these tools for any repetitive tasks. We used it to generate the covering panels of a large double curved roof. One panel was design carefully, using four points for its positioning, then duplicate automatically all over the roof, each panel adapting itself on its positioning points.

But as we were running this routine, we struggle with memory load problems, leading our application to crash after too much instantiations. We finally decide to use a .NET application running outside Digital Project to drive it. Most function of CATVBA can be used in .NET, so we rewrite our panels instantiation routine on Visual Studio (the Express version), adding some code to close and restart Digital Project when the memory load became too important. We finally manage to populate properly the whole roof surface with our panels, after running the application for nearly 48 hours (It was a really large roof…).