05 / 08 · /3d

Hardware & design, the long way.

Learning Fusion 360 and 3D printing one part at a time: a custom PC case, lab gear, lamps, drone accessories, a DJ jogwheel mod, and the occasional 'I need this Tuesday morning' workshop print. Forty-plus models live in my MakerWorld profile.

// flagship · the densest CAD file I have made

The custom ATX case, designed panel by panel.

Custom ATX enclosure · Fusion 360 · Bambu X1C

A full tower, modelled from the bracket up.

A sliding back door, modular side panels, an integrated SSD holder and a custom GPU bracket, every part designed around the exact hardware rather than the other way around. At a 147 MB Fusion 360 master, it is the densest CAD file I have made.

The muscle memory came from smaller builds first, the DJ jogwheel plates, the lamps, the lab gear, then compounded here: constraints, parametric features, sketch-on-face, printability. Drag the model to look around.

Files on MakerWorld: STL · F3D · STEP · 3MF

Custom ATX PC case, build photo 1Custom ATX PC case, build photo 2Custom ATX PC case, build photo 3

// desk build · modelled in code, not drawn

A MacBook Pro holder, grown like tree supports.

MacBook Pro 16-inch · Python implicit model · PETG · Bambu X1C

Made for one corner of my desk.

The laptop sits turned 45° and tilted 39°, tucked between the window and the wall, on a holder that clamps to a 20 mm square bar with two M6 bolts.

Version three is an implicit model written in Python: tapered branches blended into one smooth body, the way a slicer grows tree supports, with the parts that touch something (four pads, the lip, the bar channel, the nut pockets) cut in sharp so they stay exact. A voxel FEA in PETG checked the design under the laptop's weight, a push on the screen and a hand leaning on the keyboard. Drag the model to look around.

The printed MacBook Pro holder held in one hand, showing the finish of its branches and padsThe printed MacBook Pro holder clamped to its bar beside the windowThe 16-inch MacBook Pro sitting on the holder by the window

// furniture · generated, then sliced

A bedside table, wrung like a towel.

Side table · Python generator · PETG · Ender-5 Plus

39 cm tall, printed in one piece.

A soft-square column that turns 120° from foot to top on an S-curve, with a groove down the middle of each side so it reads as wrung. The top stays square to the room; the foot ends turned 30°, so its corners show past the top.

The form comes from a Python generator that checks its own printability: the table prints upside down on its top with no face steeper than 39.5° from vertical, so it needs no supports. The walls are 1.6 mm, the 10 mm top is sliced as a sandwich around a gyroid core, and the open foot widens into a 6 mm ring to stand on. Drag the model to look around.

Sliced: 890 g PETG · 76 h · 1.6 mm walls

// lab build · -80 °C freezer

Freezer buckets, one script, nine designs.

Buckets for the side-access racks of our lab's -80 °C freezer, where each compartment is 135 × 135 × 235 mm and gets worked in cryo gloves through heavy frost. One Fusion 360 Python script builds all nine designs, checks every tube and plate for clashes and exports the print files. Prototypes print in PETG on the Bambu X1C, with polycarbonate for the final parts. Three of them:

Dense 50 mL Falcon rack

B10 · 14 tubes · tilted 13°

Seven rows of two, each row shifted half a pitch so the caps nest: 14 tubes where the first rack held 12. The teardrop holes have 45° roofs, so it prints without support, and the bottom row sits high enough for its caps to clear the sill on the way out.

Staggered plate rack

B8 · nine 96-well plates

Plates turned front to back on shelves that alternate between the left and right walls, each over the plate below by just over half its width. The strip a shelf leaves open is the finger pocket; a plate lifts 3.5 mm over two small teeth and slides out.

Organic Falcon rack

B5 · 3D topology optimisation

The first rack's 12 tube positions, with the material placed by a voxel topology optimiser written in Python: 165 cm³ instead of 342 cm³, and as stiff or stiffer under every handling load but a sideways shove at the top. Carry handles on the side tops.

// interactive · drag to rotate · pinch or ctrl-scroll to zoom

A few parts you can turn over yourself.

DJ jogwheel plates

Traktor S2/S4 · Fusion 360

No longer produced since the controller maker went insolvent, so I re-modelled the plates from calipered measurements. The build that taught me Fusion 360.

Nitrogen distribution manifold

Lab infrastructure · workshop print

Manifold for splitting a nitrogen line across the bench. The classic "I need this Tuesday morning" job.

Parametric tube rack

Lab infrastructure · parametric

Test-tube stand modelled to fit our exact tube diameter and bench footprint.

// catalog · 39+ models

Everything else off the printer.