Skip to content
Schlupf Drawer

Schlupf Drawer

The Problem

Every Austrian house has a Schlupf — that triangular cave under the staircase that nature seems to have designed exclusively for losing things. Mine had collected the usual suspects: a vacuum cleaner, three half-empty cardboard boxes, two suitcases that hadn’t seen daylight since the last move, and one increasingly desperate sense of being almost organized.

The cave is roughly one cubic metre of perfectly usable storage volume. The catch: anything pushed past arm’s length effectively ceases to exist. You don’t lose the items — you lose the will to retrieve them.

The fix is obvious to anyone who has ever opened a kitchen cabinet built after 1995: a drawer. A really big drawer. On really big slides.

Schlupf (Austrian/Bavarian, masc.): the storage void under a staircase. Behaviourally indistinguishable from a black hole — matter goes in, nothing comes out.

The Plan

A wooden cabinet, 1000 × 1000 × 450 mm, with a single drawer the full size of the box, sliding on telescopic full-extension rails. Pull the drawer all the way out, see everything, push it back in, forget about it again — but this time with dignity.

ParameterValue
Outside (L × D × H)1000 × 1000 × 450 mm
Wood thickness20 mm
Drawer slides950 mm telescopic, full-extension
Slide load rating120 kg per pair
Drawer front gap2 mm all sides

The slides are TSS5319 950 mm full-extension rails rated for 120 kg — comfortably overspecified for a drawer that will mostly hold camping gear and the existential weight of past life choices.

The Twist: Designing It Without Touching FreeCAD

Here is where this project stops being about woodworking and starts being about a dubious life decision.

I have used FreeCAD before. I know which buttons do what. But it was a Sunday, and I had recently installed freecad-mcp — an MCP server that lets Claude Code drive FreeCAD via its Python API. So instead of opening the sketcher like a reasonable adult, I opened a terminal and typed:

“I want to create a sketch for a box with a drawer. The box outside dimensions are 1000mm long, 1000mm deep and 450cm height. It is made of 2cm thick wood. Inside is a drawer. The drawer is slided using telescopic drawer slides. They are 950mm long, 53.6mm in height and 19mm thick. Draw this using freecad mcp”

(Yes, I wrote 450cm instead of 450mm. The LLM very politely ignored this and built a cabinet of correct size, sparing me the embarrassment of designing a four-and-a-half-metre-tall storage cube.)

The first prompt going into Claude Code while FreeCAD waits patiently on the right
The moment furniture design became a chat application

A few seconds later, ten Part::Box objects had materialised in the FreeCAD document — bottom, top, sides, back, two slides, drawer front, drawer sides, drawer bottom, drawer back. The model recomputed itself, the camera fitted to the view, and there it was: a cabinet.

After the first prompt: a complete cabinet, drawer, and slides — generated entirely by the LLM driving FreeCAD over MCP
Ten boxes, zero clicks

A second round of prompting trimmed the drawer to leave the canonical 2 mm gap on every side of the front panel, repositioned the slides flush against the inner cabinet walls, and produced a clean cut list.

The finished model — bottom panel highlighted, drawer nested inside, ready for the cut list
The model. Built without me touching the mouse once.

Is this a good way to design furniture? Almost certainly not. Is it funny? Extremely. Did it produce a parts list I could hand to a hardware store? Surprisingly, yes.

Cut List

Ten panels of 20 mm wood, plus one pair of slides. That is the entire bill of materials.

Cabinet Panels

PartLength (mm)Depth (mm)Qty
Bottom100010001
Top100010001
Left Side41010001
Right Side41010001
Back9604101

Drawer

PartLength (mm)Depth (mm)Qty
Drawer Front9564061
Drawer Left Side4059501
Drawer Right Side4059501
Drawer Bottom8829501
Drawer Back8823851

Hardware

  • 1 × pair of TSS5319 950 mm full-extension slides (120 kg rated)
  • Screws, the usual quantity of which is “you don’t have enough, go back to the hardware store”

Lessons From Letting an LLM Use a CAD Tool

ObservationVerdict
Iterating on dimensions by typing sentencesGenuinely faster than the sketcher for boxy parts
obj.Length returns a Quantity, not a floatThe LLM kept tripping over this. Wrap with float().
Explaining “the drawer should slide between the slides, not through them”Required two attempts and a small diagram in prose
Confidence that the result is parametric and editableLow — these are dumb Part::Box objects, not a proper PartDesign body
Confidence that the result is correctHigh enough to start cutting wood

The model lives in Cabinet.FCStd along with the parts list and the CLAUDE.md describing how to drive FreeCAD via MCP. If you want to try this yourself, the prerequisites are roughly: FreeCAD running, the MCP addon’s RPC server started, and claude mcp add freecad uvx freecad-mcp registered in Claude Code.

Status

Design: Complete, ten panels of geometry, ready for a panel saw. Build: In progress — the cut list has been ordered, the slides are on the way, the Schlupf has been measured twice and is looking nervous. Organisation level of the household: Statistically unchanged. Optimistically: pending.

The cabinet itself is the easy part. The hard part — actually deciding which of the things currently piled in the Schlupf deserve to live in the new drawer — is unfortunately not a problem an LLM can solve for me.

Yet.

Last updated on