• image
  • image
03 May 2016

LEGO Architecture meets BIM – Part 04: Objects and libraries


A building information model is typically constructed using two methodologies. The first is to model using tools designed to construct specific types of elements. For example a Wall tool is used to build a Wall or a Roof tool used to build a Roof. These tools are built-in to most authoring tools. The second methodology is to use objects. Objects can be both static (i.e. they are dimensionally fixed in height, length and width and are fixed in their settings) and parametric (i.e. can be a single object used for various dimensional requirements / settings).

Objects vary from authoring platform to authoring platform, including the terminology used, but the aim is largely the same. In this piece we will look at how these objects are made up for the Lego Villa Savoye project. This includes how these objects are compiled into a library to be added to an authoring file for use by the model author.


In order to build the Lego Villa Savoye model the first thing that needed to be done was to construct all the objects needed within the set. As mentioned already there are a variety of ways of doing this. (i.e static or parametric). For this project the objects are all modelled as static objects. Part of the reason for this approach was because I wanted to use the object names to drive much of the data that could be attached to the objects.

The first part of building these objects was to establish the dimensions of the objects. 90% of the objects are constrained by standard Lego sizes and the dimensions for the objects were based on the details contained on this website. Not all the objects were covered by this site but the ones that weren’t could largely be worked out as the whole Lego system is based on a modular approach.

Once the object sizes had been determined then the objects could be modelled. This was done using ARCHICAD’s Morph tool which allows the user to draw shapes and then push and pull these as required. A similar approach would be conducted in Trimble Sketchup. This modelling technique is a very straightforward process and requires no coding knowledge.

Having completed the modelling, each Lego component could be saved as an object. The objects were each saved with the Name and Colour of the object. Below is an example of one of the objects in the ARCHICAD Object dialogue.

Screen Shot 2016-01-17 at 11.52.42

Image: An object example in ARCHICAD


In order for objects to be easy to find within a model file they are typically ordered within a library. The structure of these libraries assists the model author in finding the required object to place into the model they are constructing.

Approaches to libraries varies by software so this part focusses on how this works in ARCHICAD. Whilst the approach will be different in other tools the principle of libraries and objects is largely the same.

For ARCHICAD libraries, the objects are placed in folders within a main library folder on a server. The organisation of these can vary as required and obviously this project the approach is very bespoke!

The library for this project has been organised by how users typically would approach a Lego project which is to focus their attentions on the colour of the piece they are looking for.

So folder names have been created to match the colours of the Lego blocks – Black, Bright Blue, Bright Orange, Bright Red, Dark Stone Grey, Earth Green, Medium Stone Grey, Transparent and White.

Each folder contains one of each type of object. For this project we have simply created one object for each type so each object name will appear in the library. For example their are 17 types of Black pieces and you will see each one in the image below.

However we could have taken a different approach and created less objects that were fully parametric. In fact we could have created only one object (using GDL programming in ARCHICAD) that could have had its settings adjusted to provide each geometry shape and colour we required. This requires knowledge of a specific programming language. This is incredibly powerful and can result in much smaller libraries. However like all the posts in this series I wanted to keep all the concepts simple to explain to lay people so I have not covered more on GDL programming here.

Screen Shot 2016-01-17 at 10.08.54

Image: The ARCHICAD library structure on a server showing the folders and the Black objects placed in the correct folder

Screen Shot 2016-01-17 at 11.49.16

Image: At the top are the libraries loaded into the file and below are the objects within the Black folder that a user can place into the model

Screen Shot 2016-01-17 at 14.14.42

Image: Bright Blue Object displayed in the Bright Blue folder

Screen Shot 2016-01-17 at 14.14.32

Image: Bright Red Object displayed in the Bright Red folder

Screen Shot 2016-01-17 at 14.14.19

Image: Dark Stone Grey Objects displayed in the Dark Stone Grey folder

Screen Shot 2016-01-17 at 14.14.07

Image: Earth Green Objects displayed in the Earth Green folder

Screen Shot 2016-01-17 at 14.13.58

Image: Medium Stone Grey Objects displayed in the Medium Stone Grey folder

Screen Shot 2016-01-17 at 14.13.42

Image: Transparent Objects displayed in the Transparent folder

Screen Shot 2016-01-17 at 14.13.14

Image: White Objects displayed in the White folder

Project files can have multiple libraries attached to them. As a company we typically have the out-of-the-box library, an office library and a project specific library attached to each file. The project specific library can be added to as the project develops so it is not critical to have all objects built before the project starts.

Final thoughts

Well organised libraries and logically named objects form a crucial part of building information model files. Whilst there are obvious benefits to well organised and well constructed objects the real benefit will be to others in the process.

Rob Jackson, Associate Director, Bond Bryan Digital


Terms and conditions

All content provided on this blog is for informational purposes only. The owner of this blog makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site. Bond Bryan will not be liable for any errors or omissions in this information nor for the availability of this information. Bond Bryan will not be liable for any losses, injuries, or damages from the display or use of this information. 

We are happy for others to share our blog pieces through all social media platforms. You may include links to the original blog pieces and use part of the blog to then provide a link to the original content. However we would appreciate it if the content is not reproduced in full on other sites or publications without written consent being granted by Bond Bryan.

This policy is subject to change at any time.

LEGO and the Lego logo are trademarks of the LEGO Group. Any trademarks, service marks, product names, corporate names or named features are assumed to be the property of their respective owners, and are used only for reference, without intent to infringe.