3D printing

Geometry written as code, and the checks that catch what looks fine.

The models here are authored directly in Python and written straight out as STLs. There is no CAD program anywhere in the loop — no sketch, no constraint solver, no mouse. A part is a function, and the parameters that shape it are arguments.

The trade is obvious enough. Anything you could draw in thirty seconds takes longer this way. What you get back is that every dimension has a name, a part regenerates from its parameters instead of being nudged into shape, and a fit that was wrong by 0.2 mm is a one-line change rather than an afternoon of re-drawing.

printing-toolkit

The library underneath all of it is printing-toolkit, and it's open source. Solids, boolean operations, and the joint primitives that keep coming up — tabs, rails, channels, snap fits — plus the part that turned out to matter more than the geometry: the checks.

Watertight is not the same as printable

A mesh can pass every integrity check a modeller offers and still fail on the bed, because those checks ask whether the surface is closed, not whether the shape can be built one layer at a time. So the toolkit runs its own, and they're the checks that actually catch things:

The one that catches people, including me: touching another wall sideways is not support. A feature can be firmly attached to the model on two faces and still have nothing beneath its first layer, which is the only direction that counts.

What comes out

Finished prints end up as timelapses on YouTube, recorded and uploaded by AmbientCast — the tvOS app that was watching the printer anyway. The write-ups that come out of this work land on the blog, alongside the app ones.