CABINETFACE draws the front elevation of a cabinet — carcase outline, base trim, and a full run of drawer or door panels — from a handful of dimensions. This is the drawing nobody wants to do by hand: a six-drawer bank is thirty rectangles and twenty-four mitre lines, every one of which has to divide evenly into the carcase or the elevation looks wrong.
What CabinetFace does
Three types are built in. Base is floor-standing, sitting on a base trim, with a stack of drawers. Linen is the same with a tall door panel above the drawer stack. Wall is hung, no base trim, a single door panel filling the face.
Every dimension is remembered, so drawing a run of kitchen units means changing only the width each time.
How to use it
- Load the routine with
APPLOAD, or put it on your support file search path. - Type
CABINETFACE. - Choose base, linen or wall.
- Pick the insertion point — the bottom left of the carcase for base and linen, the top left for wall cabinets. Those are the corners you would actually dimension from.
- Give the dimensions, the drawer configuration and the number of drawers.
How it works
Every panel is the same thing: an outer rectangle, an inner rectangle inset by the frame width, and four mitre lines joining their corners. One function draws it, called for every drawer, every filler and every door. Get it right once and the whole elevation is consistent.
Drawer height is derived, not asked for. You give the configuration and the height falls out of the space available:
usable height = carcase height - 2 × edge offset - base trim
drawer height = (usable height - gaps between drawers) ÷ count
That is what makes the stack always divide evenly, instead of leaving a few millimetres to absorb somewhere.
Configuration and number of drawers are deliberately separate. The configuration sets the module — divide the face into four and every drawer is a quarter height. The number says how many of those four are actually drawers. Ask for 4 and 2 and you get two quarter-height drawers with a half-height filler below, which is exactly how a sink base or an appliance surround is drawn. Ask for 4 and 4 and you get a four-drawer bank.
Wide cabinets split automatically. A drawer wider than 24 inches is not buildable, so if the calculated width exceeds that the face is divided into as many side-by-side banks as it takes to bring it back under, and the stack repeats across. A 60 inch cabinet comes out as three banks without you working it out.
Notes and limits
- Pick point differs by type — bottom left for base and linen, top left for wall.
- Configuration sets the module, number sets how many are drawers. The difference is what gives you filler panels.
- The 24 inch drawer limit drives the automatic split. Change it in the file if your shop works to a different maximum.
- Dimensions persist between cabinets in a session.
Download and details
| Name | CabinetFace — parametric cabinet front elevations |
| Download | CabinetFace.lsp — 16.9 KB, plain AutoLISP source. Downloads directly; no zip to unpack. |
| Type | AutoCAD AutoLISP routine |
| Command | CABINETFACE |
| Requires | nothing beyond a CAD platform with AutoLISP. |
| Source size | 16.9 KB, 385 lines |
| Error handling | Yes — a *error* handler restores every system variable it changed, on cancel as well as on error. |
| Undo | The whole operation is wrapped in a single undo group, so one U reverses all of it. |
| Compatibility | AutoCAD (any release with AutoLISP), BricsCAD, ZWCAD, GstarCAD, ProgeCAD and other IntelliCAD-based platforms. AutoCAD LT needs a LISP enabler. No .NET, no ObjectARX, no installer. |
| Author | YZ, August 2026 |
| Licence | Free to use, supplied “as is” with no warranty. |
References
- SKEWBOX LISP — rectangles at any rotation, for the awkward ones
- Text heights in drawings — annotating the elevation once it is drawn
- More free AutoLISP routines on this site
- Wisey’s Steel Shapes — free structural steel section drawing program