LEGO and 3D printing

I stumbled across a website called shapeways.com and saw some amazing 3D printing stuff. I wondered whether it was possible to 3D-print Lego bricks, and found out that it was.

The text below explains what you need to know if you want to create your own 3D models for 3D printing and gives some specific information about the 3D printing of Lego bricks.

3D printing general

With 3D printing, you can print solid and physical objects of a digital 3D model.
Besides using different kinds of (coloured) plastics, it is also possible to use metal, ceramic and other materials. A 3D object is printed layer by layer, which are stacked on top of each other. All layers combined result in a solid, physical object.

3d printed lego
3D-printed minified Lego object.
Any 3D model can be used for this process and can be made of different types of material.
buy 3d printed lego object download LEGO model for 3D printing

3D printing requirements

Unfortunately however, most of the time you cannot use your 3D object made in 3D programmes like blender, povray or cinema4d etc. directly for 3D printing.

A polygon perfectly suitable to render an image or animation in a 3D program may not be usable for 3D printing.
Firstly, 3D printing requires a 3D model that is solid, meaning it should have a certain volume. Apart from that, the model should be 'watertight', which means it should not contain holes.
Volume is a requirement related to wall thickness. A polygon does not only have to have volume, it should also have a minimum (wall) thickness, for instance 1 mm. You cannot print an almost flat polygon, as the 3D printed product will be too fragile.

Ask your 3D printing company which is the minimum wall thickness. The thickness will depend on the material used.

2-manifold

3d printed lego

Besides having a volume, a 3D model should be 2-manifold; each polygon edge must be connected to exactly two faces, not more, not less.

If a polygon edge is related to a single face, the 3D model is 'open', there is a hole. 3D printed Lego 2-manifold.

cross section 3d printed lego brick object
Cross section 3D model for 3D printing (click on image for larger image)

Normals

Another requirement for 3D printing is the orientation of the so-called 'normal'.
The normal is used behind the scenes in your 3D program, for several purposes. The normal is perpendicular in respect of the surface of a polygon.

Within the framework of 3D printing, the normal is used to determine which is the inside and which is the outside. If your normals point towards the wrong side, the inside/outside will be reversed, causing problems.

Opening

A 3D model should have an opening so that any material that is inside a hollow object can be removed.
Since you pay for the material you use, so the less material you use, the less expensive your 3D printed model will be.

Consult your 3D printing company for the minimum size of the opening.

As I mentioned before, a 3D model is not necessarily suitable for 3D printing.
The 3D model should be more or less a CAD/CAM model.

normal orientation 3d printed object
Normal orientation for 3D printing (click on image for larger image)
3d printed lego object
4,120 Lego bricks compressed into 9 cm.

Once I was aware of the requirements for 3D printing, I started to think about how to create a digital 3D model representing Lego for 3D printing.
Starting from voxel technology, I could already generate blue prints and 3D models for 3D animations/still and for blue prints for real-life Lego objects based on an arbitrary 3D model.
With this knowledge, I could generate the 3D model representing Lego for 3D printing.

3D Lego Model

A voxel is a volume element. In most cases, a voxel is a cube. For Lego, the voxel is slightly higher, so a voxel represents a Lego unit; the voxel has the same size as a 1x1 Lego brick.

By combining voxels, read 1x1 Lego units, you can generate different kinds of Lego bricks; 1x2, 1x4, 2x2 and so on.
Each brick has its own geometry, which is always slightly different from other brick types, but there is a certain pattern, which makes it possible to programme your work.

The generated 3D model representing Lego for 3D printing has some usable features.

Depending on the final size of the 3D printed object, a Lego unit may be either hollow, reducing costs, or solid.
If the 3D printed model is small, a hollow Lego unit may have a wall thickness that does not meet the required minimum wall thickness test.

Another feature is the lack of knots on top of bricks that are inside the model. They are not visible, so by replacing them with a single polygon, the amount of polygons will be reduced.
The maximum number of polygons is limited by the 3D printing company, so by reducing the polygon count, the amount of Lego units used can be increased; more Lego units can be used.

Programmes used

Before shipping your model to the 3D printing company, you have to check your model.

You can use accutrans and/or netfabb studio.
Accutrans has an interesting feature that allows you to check whether you model is watertight; tools > Check for Watertight Meshes. Netfabb is handy as well. the programme validates your model and provides some features that allow you to repair any problems.

Conclusion

As I stated before, 3D printing is affordable and, with some knowledge of the requirements, do-able.
It's perfectly possible to print Lego objects, although it was quite complicated to make the conversion programme.