Last modified June 9, 2018, 3:17 p.m. by Simon

Virtual Building

Introduction
Where to Start?
Overview
LDraw
MLCad
LDCad
LEGO Digital Designer
Bricklink Stud.io
Online Building
Rendering
Instructions

Introduction

Did you ever wish you had more LEGO Bricks? Or wish you had a certain LEGO brick in another color? Did you ever wish you could instantly find a particular LEGO brick? If so, you should really try virtual building.

Virtual building means building a LEGO model on a computer, using virtual LEGO bricks. Surely, it is much more fun to build with real bricks, but virtual building has several advantages. Besides the obvious; more bricks, more colors, and easy searching; a virtual model can be used to generate building instructions, and it can be rendered, in other words, the model can be used to create photo-realistic images. All of that can be done on almost any computer, and almost any operating system.

Many Rebrickable MOCs have instructions in the form of a PDF file, that contains a series of photographs showing different stages of building. However, many other MOCs have their instructions in other formats:

  • 3D File - MLCad MPD/LDR
  • 3D File - LEGO Digital Designer LXF
  • 3D File - Stud.io

These files contain virtual models, and you need special software to view and build these models. This help page will explain the background behind virtual building and what software you need to use. It serves as a general inroduction to a three part series: Guide to LEGO Digital Designer, Guide to Stud.io and Guide to Rendering.

Where to Start?

If you just want to build a Rebrickable MOC, and the instructions are in one of the formats mentioned above, you need to install the particular program. Browse down to either MLCad, LEGO Digital Designer or Bricklink Stud.io and download and install the program.

If you want to start building virtually, I would suggest starting with LEGO Digital Designer. It is more stable then Stud.io, which is still a beta version, it is a little more intuitive, and there is a huge amount of good documentation and tutorials available. Furthermore, everything you learn, from managing the 3D view to connecting bricks, works similarly in Stud.io, and the models you create in LDD can be easily exported to any other program. Once you are comfortable with building in LDD, then add Stud.io and use that to render your models properly.

Overview

Lets first look at some history and define some terms. Virtual building is a form of 3D CAD (Computer-Aided Design). In 1995, James Jessiman created LDraw, a program originally intended to create images of LEGO bricks. In order to describe the bricks, Jessiman defined a file-format, a set of rules to describe a LEGO brick within a single text file, and an editor called LEdit. Jessiman died in 1997 at age 26, but the LDraw file-format survived, and is under continuous maintenance and extension by the LDraw community. In the following years many programs were developed that use the LDraw file-format, such as LeoCAD, a Windows LDraw-based editor (1996), L2P/L3P, an LDraw to POV-Ray converter (1997/1998), and MLCad, a Windows LDraw based editor (1999). More on LDraw and MLCad.

In 2004, the LEGO Group released its own 3D LEGO CAD software, called LEGO Digital Designer (LDD for short). LDD uses its own brick definitions, which are different from LDraw definitions, and only a subset of the bricks made by LEGO are available for use. Besides building, the program also has a mode for viewing in which screenshots can be taken and the model can be "exploded", and a third mode that automatically generates building instructions in an HTML file, which can be viewed by any browser. On January 21, 2016, LEGO announced that LDD would not receive any more additional updates. However, in March 2016, a new updated version, 4.3.9, was uploaded. The latest version, 4.3.11, is still available at LEGO.com. More on LEGO Digital Designer.

On November 13th, 2016, BrickLink launched a CAD-like digital LEGO building program called Stud.io to compete with LEGO Digital Designer and LDraw. The program was demoed for builders at BrickCon 2016 and is currently still in beta (not officially released). Stud.io uses LDraw part definitions and includes a special version of POV-Ray to create photo-realistic images. The program is integrated to BrickLink’s catalog and marketplace, so once a model is complete, it can be added to a Wanted List, and the parts can be ordered. Completed models can be uploaded to the Build Gallery and shared with others. The latest version 1.0.0_142 from March 8, 2018 is available at Bricklink.

Many attempts have been made to create online applications for LEGO building. In 2014, Google and LEGO teamed up to create a free building block simulator app playable for free from the Chrome web browser. This Build-with-Chrome project was cancelled on January 31, 2017. Another online building application, called Mecabricks, was created in 2011 by Nicolas Jarraud (Scrubs). More on Online Building.

Rendering or image synthesis is the automatic process of generating a photorealistic or non-photorealistic image from a 2D or 3D model (or models in what collectively could be called a scene file) by means of computer programs. Also, the results of displaying such a model can be called a render. Rendering LEGO models can be done with the following programs:

  • Bluerender
  • BusUFL
  • POV-Ray
  • LDD2POVRay
  • Blender
  • Stud.io

Rendering uses a lot of computer power, and even on a fast computer it can quite a long time to create a nice image. Depending on the program, the complexity of the model, and the size of the rendered image the amount of time needed can range from less then a second to create an LDD screenshot to more then 24 hours to create an HD image in Blender or POV-Ray. More on Rendering.

Creating building instructions similar to those that LEGO uses themselves is very complicated and very time consuming. However, LDD offers a Building Guide Mode which can generate a HTML building guide. Be aware that such a guide is NOT the same as the official LEGO instructions. Each page in the generated guide is about placing single brick, and the order of placing is similar to how the virtual was build, which might not work very well with real bricks. More on Instructions.

LDraw

LDraw is not a single program, but a parts library based upon the LDraw file-format, and a collection of programs that can use that part-library in some way. As the part library consists of thousands of small text files, each describing a certain LEGO brick, it is independant of an operating system, and so LDraw can be used on Windows, MacOS, Linux, and even in good old DOS. However, as most of the supplemental programs were originally written for Windows, some of them are not available on MacOS or Linux.

The LDraw website has a good Get Started section, with seperate installation instructions for Windows, MacOS and Linux.

For Windows, there is an LDraw All-In-One-Installer, in short AIOI, if you want a quick and easy way to install the LDraw parts library and many of the popular tools as well. The AIOI supports Windows XP SP3 (Home and Pro), Windows Vista (all versions) and Windows 7 (all versions). On most modern computers (64-bit) it will install in the "Program files (x86)" folder. The AIOI will NOT run on Windows 95, 98, ME, NT Ver 4, 2000, or XP below SP2. The latest version of the AIOI, LDraw_AIOI_2018-01_setup_32bit_v1.exe, was released on February 19, 2018, and is 288,9 MB in size. It contains the following components.

  • LDraw Parts Library 2018-01
  • LDview 4.3
  • MLCad 3.5
  • LeoCAD 18.01-10289
  • LDCad 1.6a
  • LPub3D 2.0.20.0.645
  • LICreator 3.2.153
  • LSynth 3.1
  • LDGlite 1.3
  • POV-Ray 3.7
  • LGEO Parts Library
  • MPDCenter 2.3.6.0
  • LDFind 1.3.5.3
  • LSulpt 0.5.0
  • Offline Parts Catalog 2018-01

There are tutorials for MLCad, LeoCAD and LDCad available online:

LDraw files specifying basic single parts usually have the extension .dat, LEGO models consisting of multiple bricks have the extension .ldr, while models consisting of multiple parts and sub-models are called .mpd.

MLCad

MLCad (Mike's Lego CAD) is one of the tools included in the LDraw All-In-One-Installer mentioned above. The program was created in 1999 by Michael Lachman. The latest version, 3.50, is NOT available on the MLCad main website, but it can be downloaded at Softpedia. The software will run on any modern computer, and supports Windows 95/98/ME, NT 4.0, Windows 2000 or Windows XP and Linux (under Wine). A basic tutorial is available in nine different languages.

Note that to function properly MLCad needs access to the LDraw parts library, which can be downloaded seperately at the LDraw website Latest Parts page.

MLCad files containing multiple submodels (MPDs) have a .mpd extension, while files with a single model have an .ldr extension.

LDCad

LDCad was created by Roland Melkert in 2011, and it is included in the LDraw All-In-One-Installer mentioned above. The newest version, 1.6b is available at melkert.net. The installer contains both the 32 and 64 bit version, and will select the one best suited automatically. The program is also available for Linux. The major features of the latest LDCad version are:

  • Windows and Linux support
  • Multi-threaded (background) loading of parts.
  • Basic part snapping on growing collection of (official) parts.
  • Integrated portable flexible parts support (springs, hoses, bands).
  • Script based animation and macros.
  • Part grouping.
  • Instruction stepping support (including rotational ones).
  • POV-Ray exports.

A good User Manual is available here.

LEGO Digital Designer

The latest version of LEGO Digital Designer (LDD), version 4.3.11, is available for download at LEGO.com for both MacOSX and Windows. It will run flawlessly under Linux using Wine. Here are the system requirements.

For MacOSX:

  • Operating system: OS X 10.10 or higher
  • CPU: Intel processor
  • Graphics card: NVIDIA GeForce 5200/ATI Radeon 7500 or better RAM: 1 GB
  • Hard disk space: 1 GB

For Windows:

  • Operating system: Windows XP, Windows Vista, Windows 7, Windows 8 or Windows 10.
  • CPU: 1 GHz processor or higher
  • Graphics card: 128 MB graphics card (OpenGL 1.1 or higher compatible)
  • RAM: 512 MB
  • Hard disk space: 1 GB

LDD comes with a complete single HTML Help page, accessable through Menu > Help or by launching en-manual.html in the LEGO Company/LEGO Digital Designer/Help folder.

Note that if you are still using version 4.3.10, you'll get a message when launching the program that the internet connection could not be established. This is because that version is no longer supported by LEGO. When you upgrade to the latest version, the message disappears. LEGO still creates updates for LDD, and over the last year about 400 new parts were added to the database. These updates are performed automatically when you launch the program. You can check the update status by viewing the About box: the latest update is Brick Version 2670.

LDD files have an .lxf extension. More about LDD in our Guide to LDD.

Bricklink Stud.io

The latest version of Stud.io, version 1.0.0_153 from May 7, 2018, is available for download at the bottom of the Stud.io Homepage with seperate versions for MacOS, Windows 32-bit (Windows XP SP2 and earlier) and Windows 64-bit (Windows XP SP3 and later).

The program is still in beta phase, so the developers are still actively working on it, and updates occur about once a month. Be sure to download and install the latest version, when you start with Stud.io. When started, the program will check for updates, and, if needed, install them after approval. The Bricklink developers have not released any information about system requirements, but, presumably, Stud.io will run on any system that can run LEGO Digital Designer.

Stud.io comes with a complete HTML multi-page Help system, accessable through Menu > Help or by launching introduction.html in the Stud.io/Manual folder.

Stud.io files have an .io extension. More about Stud.io in our Guide to Stud.io.

Online Building

As far as I know, after the demise of Build-with-Chrome, the only currently available online LEGO building platform is Mecabricks created and maintained by Nicolas "Scrubs" Jarraud. In essence, the idea behind Mecabricks is awesome: building in a browser might not be as fast as building in a dedicated program, but it will work on any device with a modern browser. Mecabricks uses it own part library, which is different from Ldraw and LDD, and designed to create much more detailed renderings. The rendering itself is done by multiple computers in a rendering farm, and done in minutes, instead of hours on a private computer. Furthermore, as models are stored on the Mecabricks server, they are available anywhere.

However, currently, the created models cannot be exported back to LDraw/LDD formats or downloaded to a local harddrive. This raises serious questions about the intellectual property rights. A model you design and build on your own computer using either Ldraw, LDD or Stud.io is your own private property, and you retain all IP rights. Mecabricks doesn't show any Terms of Service defining Centent Ownership, and so you might be giving away the rights to your creation by using the service. Furthermore, the revenue model of Mecabricks is based on its rendering service, in other words, you'll have to pay for a high quality render. You can export your model to 3D formats (STL, Wavefront OBJ and Collada DAE) and render yourself using Blender, but for high quality you need to buy an add-on script. Finaly, in comparison to the LDraw and LDD part libraries, the amount of available parts is, as yet, quite limited.

Rendering

Both LDD and Stud.io can create images of build models. In LDD you can make a basic screenshot against various backgrounds, while Stud.io carries a crippled version of POV-Ray 3.7, which can create high quality renderings. More on this in our Guide to LDD and Guide to Stud.io.

Bluerender is a Java application created by Nicola Lugato (msx80) that uses the open source SunFlow rendering system. The program requires Java8 (revision 8u40 or better) and LEGO Digital Designer. It is very easy to use and capable of creating reasonably good images rather fast. More information, and a download link, can be found at Eurobricks. A good five minute video tutorial by SpeedyLLD is available on You Tube.

BusUFL is another Java application using the same SubFlow engine, created by Milos Plank (bublible). It is available at his website. BusUFL has many more interesting features, including a Multirender mode that could generate a series of renders while rotating around the model, and combining these renders into an animated gif.

The Persistence of Vision Ray Tracer, or POV-Ray, is a ray tracing program that generates images from a text-based scene description. This is the program that mostly used for rendering LEGO models. The latest version, POV-Ray 3.7.0 (November, 6th 2013) requires Windows XP or later, and has been tested on versions up to and including Windows 8. The Windows Installer installs both the 32 and 64-bit binaries. The program needs at least 100mb or so of free disk space (for temporary file storage during renders) and at least 1GB of available memory. The previous version, 3.6 is also available for MacOS and Linux. Reference documentation and a very good tutorial are available at the POV-Ray documentation webpage.

LDD2POVRay is a program written by Martin Hronský in 2012 that allows you to convert LDD model file into POV-Ray file format and then enables rendering of photo-realistic images of the model. The latest version, 1.2.12 from March 28, 2018, is available for Windows at the LDD2POVRay website in 32-bit and 64-bit versions. It is a good program, with a many good features and options, and a good online Help page. However, the author believes that LDD's brick geometry data is the property of the LEGO Group and thus subject to copyright. In order to protect that data LDD2POVRay uses the Callback File System, a virtual file system SDK for Windows provided by the EldoS Corporation to enable POV-Ray to access that data without disclosing the brick geometry content.

It is, in my view, highly unlikely that the measurements of the LEGO bricks are protected by copyright, and thus the virtual file driver is unnecessarily crippling the program; but if LDD's brick geometry data is intellectual property, then using that data without prior consent is still a violation of LEGO's copyright, even when that data is not disclosed to the user.

Blender is a professional, free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, interactive 3D applications and video games. The Dutch animation studio NeoGeo developed Blender as an in-house application in January 1995, with the primary author being software developer Ton Roosendaal. The latest version, 2.79b from March 26, 2017 is available for Windows, MacOS and Linux in 32-bit and 64-bit versions at the Blender download page. Version 2.8 is available in beta. Blender is arguably the best non-proprietary non-commercial 3D render engine, but it is very complicated and takes a lot of effort (and time) to be mastered. For an average LEGO fan wanting to create an occasional render is this probably too much.

More on rendering in our Guide to Rendering.

Instructions

Modern LEGO building instructions are undoubtedly the best, both in terms of usability and efficiency of use, but you must remember that it took LEGO almost 50 years to develop and fine-tune that system. Here's a selection of LEGO instructions from 1957 to 2010:

If you look at the earlier examples, you will see that these instructions are very simple, and yet, most LEGO builders have no problem building these models, based on only a handfull of images. Furthermore, LEGO instructions are essentially created for young children, and if you are a MOC builder, you really need to ask yourself if creating a LEGO-like building instruction for your MOC is worth the time. If your target audience is audults, it probably isn't. Remember that building doesn't have to be easy to be fun!

If you have any further questions on these topics, or you wish to comment on the contenct, please use our Forum.