D.I.Y. Design Part Five – Learning Lego Digital Designer
14Jan12 by Matt SinclairLike most designers, I suspect, I have fond memories of Lego as a child, and so it seemed somehow appropriate to be playing with the Lego Digital Designer over Christmas. Unsurprisingly, I never had any real expectation of being able to design a working computer mouse in Lego, and the Digital Designer clearly isn’t a CAD system in any sense that the term is usually understood. But as cheap 3D printers start to become mainstream, the need for 3D modelling software that can be understood by non-experts becomes more and more necessary. TinkerCAD is perhaps the ‘simplest’ system available currently, but it’s still recognisable as fitting into the traditional 3D CAD paradigm. Lego Digital Designer doesn’t, and that’s what makes it interesting, even if, as I found, there are a number of flaws in its implementation.
Lego Digital Designer Intro screen © Lego
Lego Digital Designer runs as an installed application, and is available for free download for Mac and PC. Once installed it will run without an internet connection, but when connected it automatically updates the bricks that are available, and access to the Lego website is needed to check the cost of any model you design. This leads me to one of the first notable aspects of the software, which is that the Design byMe side of things is about to close. Design byMe is the part of Lego Digital Designer which allows you to ‘manufacture’ custom kits, complete with customised building instructions andboxes. According to Lego’s press release the system was too complex for children and “struggled to live up to the quality standards for a LEGO service.” Many posters to the Design byMe message boards suggested the real issue was the high cost of custom kits compared to standard Lego models, ie less to do with complexity and more to do with cost, and so it will be interesting to see what the future of customised Lego will look like.
The Lego Digital Designer site has 11 videos to introduce the software and demonstrate how to use it. All are about 2-3 minutes long and very easy to follow, though the last two are more of a re-cap and don’t tell you much that’s new. When you launch the application you’re first asked to choose which ‘environment’ to work inside: Design byMe as already discussed, Mindstorms or Universe. Different bricks are available depending on which one you choose, though the modelling environment is the same. One of the first things you notice is how CAD-like the layout is – a tool palette down the left-hand side (this can be dragged to expand) of the modelling window, ‘Select Filter’ and ‘Manipulation’ palettes at the top, and the ability to create templates and groups, which are essentially sub-assemblies. The mouse scroll wheel is used to zoom and the right mouse button to rotate (RMB + shift allows you to pan).
The brick palette in the Lego Universe environment
The palette of bricks available is organised into sub-groups which can be opened and closed to reveal their contents. Bricks can be filtered by shape, colour or set, and the number of bricks shown can be significantly reduced by showing only one of each colour (rather than, for example one shape of brick in 12 different colour options). Nonetheless, especially when you first begin to use the software, the number of bricks available is daunting, and it takes a considerable amount of time to learn which sub-group contains which particular brick. This can lead to a lot of time spent scrolling through the bricks trying to find the one you’re after, and it becomes even more frustrating when the brick you’re looking for isn’t obvious because it’s icon has been drawn from an angle which doesn’t show certain details. I also found it strange that some sub-groups contained only a few bricks (I think the smallest number was five) whereas others contained hundreds. I’m sure this is probably to do with an identification system which exists in the physical Lego world, but within the software it makes for poor interface design.
Bricks are placed by selecting from the palette and then clicking in the build area, which automatically expands as the size of the model grows. Bricks are rotated using the arrow keys, which doesn’t always work how you might expect, but generally it doesn’t take long to get a brick in the orientation you want. As the model begins to build, previously placed bricks highlight where a new brick will locate, and the appearance of a new brick greys out if you try to place it in a position that isn’t (or wouldn’t be) physically possible. As might be expected, bricks ‘snap’ into place, though I’d describe this as a ‘soft’ snap rather than an assertive ‘click’. Particularly with the Lego Technic type bricks, which don’t always locate in the same way as conventional bricks, the way that parts snap to each other can cause problems. A shaft will snap to a hole for example, or a gear wheel to a shaft, but the only way to position the shaft in the hole is by eye; this can cause a lot of headaches, as I’ll explain later.
As new bricks are placed their interaction with other bricks is highlighted
Within the build area there are a number of tools for selecting and manipulating bricks. Along with the regular select tool there is a multiple select (incrementally adds to the selection as bricks are clicked) and the ‘connected’ select tool, which selects all the bricks that are joined to the one you click. This last tool is a lot less useful than it might seem, because in most models all the bricks will be connected; in fact most of the time I found myself using only the regular select, since Shift-clicking alternate bricks works in the same way as the incremental select. The colour selection and shape selection tools I didn’t use at all. One tool that is extremely useful though, is the Clone tool, which basically copies existing bricks; I found myself using this all the time rather than trying to find a brick I’d already used from the main palettes. The paint tool allows bricks to be painted and works in different ways depending on which environment you’ve chosen to work in: within Design byMe it will only allow you to choose the colours which correspond to bricks in the ‘real’ world, whereas Universe allows you to choose any colour from the full Lego colour palette.
Bricks can be painted using colours from the Lego palette
In order to start testing the software properly I went to the Design byMe gallery page to look at creations uploaded by other Lego users. Models are arranged by themes and other users can vote on how good they rate the design, furthermore all models are available to download and recreate or modify. To be honest, the implementation of the gallery is pretty poor (or, perhaps, simply showing its age); images are small and static, descriptions are sparse and there’s no opportunity for users to discuss each other’s models. As such it’s much less vibrant than the equivalent galleries of Shapeways or Ponoko, to name just two. There’s also a lot fewer models than I was expecting. In part I suspect this is because there are a number of different Lego sites where you can upload models (Lego Creator, Lego Club Cool Creations, Lego Hero Factory, etc), which doesn’t make for a particularly seamless or comprehensible experience. But if you are able to find models you like, they’re easy to download (models are generally less than 100Kb in size) and often of a high standard. There’s also a built in tool which will generate an interactive building guide, which makes it much easier to understand how the model should be constructed. The model I chose to start with was this T34 tank, built by thepizzaman12, shown below.
T34 tank downloaded from the Lego Design byMe gallery
Whilst it was fun in the beginning to analyse the model and begin to recreate it, the process quickly highlighted some of the flaws in the Lego Digital Designer system. To start with, as already mentioned, simply identifying which bricks had been used was quite a problem. The building guide, unlike a traditional paper version, is animated and allows you to rotate the view, which makes it a lot easier to recognise the brick you’re looking for. But finding one brick among a menu of hundreds, some of which are quite similar, isn’t a particularly enjoyable task. Within a model, clicking on a particular brick displays its description and code number; unfortunately this doesn’t happen in the building guide, and it’s not possible to have two files, or two instances of the software, open at the same time. The other problem was the automatically generated building guide, which whilst being a fantastic idea, unfortunately works at quite a basic level. On the tank example shown here, each link element of the track is made up of 6 individual Lego pieces, each track contains 45 links, and obviously there are two tracks. The building guide turns this into 178 steps, 175 of which are repetitions of the first three instructions.
The next problem caused me to abandon the model and start on something else. Having built one of the set tracks, I found the very last piece (a pin through four holes) wouldn’t fit. It was fairly obvious that the holes didn’t line up, and I couldn’t work out how to make them do so. Not knowing why the model wouldn’t work, I thought perhaps it was because this wasn’t an ‘official’ Lego model, and that maybe the model I’d downloaded had been fudged to look like it fitted together, even though it didn’t. I know now that this probably isn’t the case, but it took a while longer to find out.
Lego Technic Compact Excavator © Lego
Since I wasn’t able to remodel the user-designed tank, I decided to try an official Lego model, and went for the ‘Compact Excavator’ which is part of the Lego Technic range. This was chosen primarily because the original building instructions are available to download, though I later discovered that, in fact, it’s possible to download almost any instruction manual for models sold after 2002 (you have to go through the ‘customer service’ web page, rather than the product page). I also wanted to see how well the software handled the moving and interlocking parts which are a feature of the Technics range.
I started by trying to model the excavator in the Design byMe environment, but it quickly became clear that most of the bricks I needed were unavailable. Restarting again in the Universe environment gave me access to all the bricks, but on starting to build the model I got a warning that the model contained bricks which couldn’t be price checked or uploaded to the online gallery; this also means that the model wouldn’t be able to be purchased. I’m not sure why only certain bricks are available for custom kits; searching through the message boards there are occasionally complaints but never any real explanation.
In all I spent about five hours working on this model, spread over a few lazy Christmas days. To begin with everything was fine, but the first problem I came across was some of the parts weren’t available. I think this may be because the model is no longer sold, but the parts needed to make the caterpillar tracks aren’t in the brick palette as far as I can tell. This was annoying, but not too much of a stumbling block. The next problem was far more of an issue, at least as far as a working ‘CAD’ system is concerned.
Lego Technic models are designed with a lot of parts which pass through each other (shafts, pins, etc) or dynamically interact with each other (gears, levers, etc); this is unlike most other Lego models where bricks snap together and then remain static. In the software parts will ‘snap’ to each other, but this only works well in the static sense. In a situation where there is no definite position (a gear wheel on a shaft for example), the only way to position the gear is by eye. And in a complex model (which all the Technic models end up being) this causes problems downstream. Because that gear, which is slightly out of position, has to interact with another gear, and if the teeth overlap even slightly, the software won’t let you place it.

In this image the red brick has been placed on the shaft
However the software will not allow it to be moved to the correct position
Lego Digital Designer has a couple of tools which can be used to address this problem, though their usefulness is questionable. The first is the ‘hinge’ tool, which rotates one brick about the axis of another that it’s joined to. In the tutorials this is illustrated by opening a door, but it can equally be used on parts that aren’t really hinges at all. Two gear wheels with overlapping teeth, for example, can be ‘hinged’ so that the teeth interlock. And so by fiddling around with the hinge tool, parts which will not place correctly can be wriggled into place.
Using the hinge tool the red brick and gear wheel are rotated slightly
This allows the red brick to be moved into position
Whilst this may seem like a useful, if haphazard, solution, the problem is that as the model becomes more complex, the hinge tool works in increasingly unpredictable ways. I experienced a number of instances where it seemed impossible to get the parts to hinge how I wanted, and instead the model rotated about a completely unrelated axis. This problem was even worse when using the ‘hinge align’ tool, which is supposed to tell two parts that they share an axis, and to align themselves accordingly. I think I managed to get this tool to work twice, but only in very simple situations where it was just as easy to position the parts manually. In most instances it either refused to acknowledge the parts could be aligned, or failed – in the most extreme cases this meant the whole model deforming as if it had been sat on!
When trying to ‘hinge align’ the red strut, the model deforms © Lego
The final frustration came when I thought I’d finished the model. Having spent a lot of time tweaking the position of parts in order to get as close to a finished model as possible, I’d finally reached the end of the manual, and saved the model. But when I later came to open it again, I got a message saying that two bricks were incorrectly positioned and had been removed from the model. And so I placed them (and tweaked them with the hinge tool) again, and saved, and got the same message again when I re-opened the part. And here I had a somewhat unexpected realisation, which was how disappointed I was at the model not working! It was a bit like having made the whole Lego kit in real life, only to find one of the last bricks is missing. That one missing piece spoils the whole experience of having built the rest of the model.
The final model (minus caterpillar tracks)
A warning that incorrectly placed bricks have been removed
I realise that these complaints make it sound like I have a highly negative impression of the Lego Digital Designer, which would be unfair. In many ways the software is very good: it downloads and installs quickly and easily, it displays well even on low end graphics cards, and it’s incredibly intuitive to just start picking bricks and assembling them. And it’s perhaps the case that when the system was first conceived, it was never anticipated that it would be used to build complex models. But on the other hand Lego should know, from their wealth of experience with Mindstorms, that people love to play, to push systems beyond where they were first meant to be. Lego’s press release says that the reason for discontinuing the Design byMe service is that it was too complex for children, and that’s left a lot of people on Lego’s message boards wondering if the Digital Designer system will be simplified and ‘dumbed down’. I’m not a hardcore Lego fan by any means, but I think it would be a great shame if that were the case. For some children, this might be the first ever experience of 3D modelling software.
POSTED IN: 04 New Design Processes, 05 Enabling End User Design, No Comments













