The van bed that almost didn't fit
The van bed that almost didn’t fit
Last month a client sent me a photo of their van interior and a rough sketch on a napkin. They wanted a bed platform with storage underneath, built from 18mm birch plywood, cut on a 3-axis CNC router, and assembled on their driveway with no special tools. That’s the kind of brief I like. Specific, constrained, real.
The keyword part of my brain was already awake: this was a parametric van furniture model with storage job, and the output would be van bed storage design files for CNC router cutting. But the actual work started with a tape measure, not CAD.
Measure twice, model once
I don’t model anything until I’ve stood in the van myself. In this case it was a mid-size panel van and the wheel arches were about 1,250mm apart at their narrowest, but the floor wasn’t flat — it had a 12mm dip near the side door where the factory floor panel joined the chassis. The client had measured 1,015mm and rounded down. That 5mm difference, plus the dip, would have made the bed frame sit on a high spot and rock.
I traced the floor profile with a straightedge and shims, then rebuilt it in CAD as a ruled surface. Sounds fancy, but it just means I drew the actual shape instead of pretending the floor was flat. Most problems in van furniture come from pretending things are flat.
Why parametric matters here
Vans are not houses. Every wall curves. Every floor has a hump. So when I build a van bed model, I make it parametric from day one. Sheet thickness is a variable, not a number I hard-code. Wheel-arch clearance is driven by a measurement sketch. The storage box depths adjust when the overall length changes.
That flexibility saved me twice on this project. First, the client decided they wanted 30cm-deep drawers instead of 25cm after I’d already laid out the panels. Because the model was parametric, the front and side panels updated, the drawer cutouts shifted, and the dado joints resized automatically. I still had to check the clearances manually, but I didn’t have to redraw eighteen panels by hand.
Second — and this is the one that would have hurt — they asked to raise the bed height by 40mm so a cooler could slide underneath. In a static model, that’s a nightmare. In a parametric one, it’s one number. The ladder bracket holes moved. The rear support legs extended. The drawer handles stayed clear of the mattress. Total rework time: about twenty minutes.
The almost-mistake
Three days before I sent the files, I noticed something. The bed platform was 1,852mm long. The mattress the client had already bought was 1,900mm. I had modeled the mattress as 1,850mm because that’s a common van mattress size and I’d assumed. The client hadn’t checked, and I hadn’t asked.
That 48mm gap meant the mattress would overhang the foot end by 48mm. On a flat bed, that’s ugly. On a bed with a lift-up tailgate-style storage hatch, it meant the hatch couldn’t open. The mattress would jam against the hinge rail.
I called the client. They confirmed the 1,900mm mattress. I extended the platform, moved the hinge rail, and re-dogboned the corner joints so the CNC bit could still reach all the internal radii. Crisis averted because I habitually dimension-check the foam before I dimension-check the plywood. Lesson learned.
From model to router
The final delivery was a folder of DXF files, one per plywood sheet, with labels burned into the waste areas so the workshop could identify parts without a printed legend. Each part had:
- Dado joints sized for 18mm ply, with 0.15mm total clearance on the slot width for glue and slight sheet variation.
- Dogbone corners on every inside corner where a rectangular bit needed clearance.
- Pilot holes for the ladder-bracket screws, sized to the screw core diameter so they bite without splitting the ply. Shelf-pin holes were a snug slip fit, not undersized.
- A part number etched next to each outline.
I also included a 3D assembly PDF and a cut list sorted by sheet, because CNC shops are busy and the less they have to interpret, the fewer phone calls everyone gets.
What I’d do differently
Next time I’m adding a field to my intake form: “What is the exact length, width, and thickness of your mattress, and have you already bought it?” It seems obvious. It wasn’t.
I’d also model the mattress as a solid block and keep it visible during interference checks, instead of just trusting a dimension text. Visuals catch things numbers hide.
The bed is installed now. The client sent a photo of the first drawer sliding out without binding. That’s the whole point. The CAD was clean, the files cut cleanly, and the thing actually fit in a van that wasn’t flat.