Over the last year, I've built about a dozen different LEGO kits, mostly Star Wars stuff, frankly. However, I haven't really explored the options that are available for building your own kits. I tried to change that this weekend, but after a few frustrating minutes sketching and messing with loose bricks, I took to the Internet in search of a better answer.
That's right, there are a series of open-source projects that let you design and inspect your builds in a 3D CAD environment. You can then export a parts list, and even print a LEGO-style instruction manual to help others build your creations. It all starts with LDraw.
LDraw is the glue that holds the LEGO CAD ecosystem together. It includes both a standard file format to encourage cross-compatibility between different applications to open your creations, as well as a fairly comprehensive list of the parts that LEGO has sold. Installing LDraw is simple, download the complete package and unzip it to a folder on your computer.
LDraw won't let you actually build your model, to do that, you need a CAD program. I used Bricksmith on my Mac, but there are comparable Windows applications available too. If you're familiar with 3D CAD software at all, Bricksmith will be instantly familiar. If not, it's fairly easy to pick up. The main windows gives four different configurable views of your model. By default, three are orthogonal--perpendicular views of the different faces of your model. The fourth is a 3D-rendered 2/3rds perspective shot.
Getting started building is dead simple--you open the parts browser (cmd+b) and select your first piece. You can drag it into any of the four views to get started. Then add your second piece. This is where things get tricky.
The key to using this type of 3D CAD software is to use two or even three different views to make sure each piece is positioned exactly right. It's typically easiest if you rotate the pieces before you place them, line the piece up in one of the orthogonal views, then move it into place in one of the others. Don't worry if you make a mistake, you can always use cmd+z to undo your last few actions, or you can simply select the piece again and adjust its position. To adjust your piece's color, you can open the color picker when it's selected by pressing shift+cmd+c and clicking on another color.
Bricksmith won't stop you from building impossible constructions. It won't tell you that your base isn't stuck together or even prevent you from putting two bricks into the same place. Because of this, it's really important that you take it slow and think through ever part of your model. While it's definitely easier to go back and fix mistakes in Bricksmith than it is when you're building a real model, it still isn't easy.
There are a few things you can do to avoid making difficult-to-recover-from mistakes.
- Build from the inside of your model out and from the top to the bottom. This helps avoid situations where you need to add a piece, but can only where it goes in one of the three orthogonal views.
- Avoid moving pieces in the 3D view. Use that for rough placement, then dial in using the orthogonal views.
- Use Save-As frequently, so you can revert from any particularly gnarly mistakes
- Always keep support structures in mind as you build.
- Use constructs from other LEGO models you've built. The people who design kits aren't called LEGO masters for nothing, steal from them.
- Use Steps. They're handy on finished models, but you can also revert to an earlier step to fix a mistake on a piece that was later obscured.
- Learn to use keyboard shortcuts. This won't save you from disasters, but it's just good advice.
The LDraw spec also lets you specify the step-by-step process for building your model. Bricksmith supports steps in a really straightforward way--each piece you attach to your model is associated with a step. It's a little tricky to keep up which pieces go with which step once you get on a roll and you're building quickly, but you can always drag and drop pieces from the parts list into the appropriate step after you've completed the model.
When your model is complete, Bricksmith will tell you its dimensions and generate a parts list--both options are under the tools menu. Congratulations, you've designed your first LEGO MOC! (MOC stands for My Own Creation)
There's tons of LDraw compatible software available for Mac and PC. I especially like LPub 4, which will generate a LEGO-style instruction manual using the steps you set up in Bricksmith. LPub is a little tricky to set up on a Mac, you'll need to create a parts.lst file on a PC using directions found here. I can't find a Mountain Lion compatible version of mklist, the utility that scans your LDraw installation to generate your parts catalog. Alternately, you can download my copy here, it's current as of December 18, 2012.
The next step is to figure out where to get the bricks you need to build your creations, without spending an arm and a leg. LEGO has the Pick-a-Brick service, which is fairly expensive per-brick-cost and has a limited selection, outside of a few core colors. I was only able to find about 180 of the 300 or so pieces in the blockhead I built--although with some redesigning, I could probably improve that. It will also take a very long time to purchase even a few hundred pieces using the Pick-a-Brick tool. If you have access to a LEGO retail store, you can buy bricks in bulk at them, but they may or may not have the exact bricks you're looking for. I believe bulk bricks in the store are priced per pound, but I have no idea if it's expensive or cheap.
There is a bustling aftermarket for LEGO pieces--Bricklink and eBay both do fair trade in used bricks. Beware, some vendors sell by the piece, while others sell by the pound. If you want to know how many pieces are in a typical pound of LEGO, you should check out this Wired story.
I'm going to head down to our local LEGO store over the holidays and see what I can find. If you guys have other tips for finding specific bricks or bricks in specific colors in bulk, please let me know by emailing or posting in the comments.
In the meantime, LEGO CAD software is a great way to experiment with building things you may not have the bricks to actually make, and you can learn the basics of CAD software at the same time.