The course An Introduction to Design through Making provides a hands-on introduction to maker education. Course modules can be found at the link below:
This forum strand focuses on Designing and Printing LEGO-style Bricks.
The course An Introduction to Design through Making provides a hands-on introduction to maker education. Course modules can be found at the link below:
This forum strand focuses on Designing and Printing LEGO-style Bricks.
Designing a 2*4 LEGO Brick
I set out to build 2x4 LEGO bricks using a dual-software workflow—combining Inkscape for 2D vector layouts and TinkerCAD for 3D modeling. While TinkerCAD is fantastic for 3D generation, it lacks advanced features for laying out highly precise, interlocking geometries. However, because it can import Scalable Vector Graphics (.svg), drawing and measuring everything in Inkscape first allows you to get sub-millimeter precision before moving into 3D.
To start, I set up my workspace and turned on Inkscape’s Snapping features. By enabling alignment and selecting all bounding box options like edges, corners, edge midpoints, and centers, I ensured that every shape I drew would pull exactly to nearby targets without a fraction of a millimeter of error.
When 3D printing objects, a standard 0.4mm 3D printer nozzle deposits roughly 0.2mm of material on either side of the path it traces, meaning outside dimensions grow and inner gaps shrink. To make sure the brick could sit comfortably next to other bricks, I factored in a 0.2mm clearance gap per brick plus a 0.4mm reduction to compensate for the nozzle extrusion. Using the formula length = 8 × (number of studs) – 0.6, I drew the outer brick perimeter at exactly 15.4mm x 31.4mm. With standard LEGO walls being 1.6mm thick, I subtracted that from both sides to get the brick interior dimensions of 12.2mm x 28.2mm.
Next came the studs and the underside clutches, which are the cylinders underneath that grip the studs of the block below. For the clutches, I spaced three 6.1mm circles exactly 8mm apart center-to-center using a temporary reference square, grouped them, and aligned them right inside the smaller brick interior rectangle. For the studs, standard LEGO studs are 4.8mm in diameter, which adjusts down to 4.4mm to account for a 0.4mm nozzle. Using an 8mm reference square, I mapped out two parallel columns of four circles and grouped them together. Once these three separate components—the grouped studs, the brick perimeter, and the brick interior layout—were ready, I copied each into its own document and exported them as separate .svg files.
The next step was to import .svg files into TinkerCAD. I extruded the outer brick body height to 9.6mm. To let the studs sit nicely on top, I set their height to 11.3mm to give them a 1.7mm clearance. Fully hollow 3D-printed blocks require support structures that are incredibly hard to clean out, so I limited the height of the brick interior to 2.5mm—just enough depth to clear the studs of a bottom brick—and toggled its type to “Hole”. Finally, I highlighted all three components, used the Align tool to center them perfectly along the length and width, and hit Union Group to cleanly cut the underside and attach the studs. Instead of just exporting a basic .STL, I sliced the object and exported the final model from my slicing software(bambu studio) as a.3mf file. I loaded the .3mf file onto my Bambu Lab A1 mini and started the print.
Thanks to the incredible precision of the printer, my LEGO brick printed flawlessly. However, after 3D printing my objects, I hit a roadblock: the bricks would not interlock with each other. Because of the way the plastic extruded, the studs were slightly long and physically could not clear or fit comfortably into the inner rectangle cavity. To fix this, I went back and modified the stud width measurement in TinkerCAD. I explicitly adjusted the width of the studs, reducing them until their outer profile lined up to match the width clearance of the inner rectangle. This minor tweak shaved off just enough material to allow the two parts to slide past each other seamlessly and create a smooth interlocking snap.
The result was a pair of perfectly matched, custom 3D-printed LEGO bricks that interlock seamlessly, proving that with a little bit of vector math and quick troubleshooting, you can achieve perfect manufacturing tolerances right on your desktop.
Do you recall the final dimensions of the studs on your brick?
I adjusted the stud length to 12.2mm
Emma Kutosi & Siisa Precious:
We were very excited about using the 3D printer because we really wanted to learn how to use it to make many different objects.
Making these LEGO-style bricks was such an interesting project for us! We used Inkscape to design the basic shapes that would later be merged into the final brick—like the outer perimeter rectangle, the interior rectangle, the top studs, and the underside clutch pins.
Next, we imported those SVG files into TinkerCAD and combined all the shapes into a single 3D object, which was really fun to see come together. Using the 3D printer was a lot of fun, and we learned so much from this project. For example, we learned how to design different shapes and group them together to create a final object.