This project is not covered by Drupal’s security advisory policy.


Cabinetry was created with the goal of fast prototype-to-build designs for various forms of cabinetry. After an input of project specs, the entities display a summary of necessary materials, and provide a cut list and sheet layouts.

The base module itself cabinetry_core provides a framework for extending into specific areas, and does little on its own.

Please note this project is still in development, and has been presented to garner interest in co-development or critique.

Current Exensions

Cabinet Project

cabinetry_cabinet_project helps craft European style (no face frame) cabinets, boxes, drawers and doors.

Wainscot Project

cabinetry_wainscot is currently being developed.

Sheet Layouts

The sheet layouts are calculated with a modified 2D bin packing algorithm, taken from []( as an example. The base algorithm used is the **SHELF-FF**, with a modification that considers cabinet doors look best with a vertical grain orientation.

The above algorithm was chosen with the intent of producing sheet layouts that eased the burden of cutting the sheets with a track (circular) saw. A 'shelf' layout provides straight lines that are easy to break down quickly, while minimizing human error.

If you are planning to adapt this to set up a cut list (and toolpath) for a CNC machine, this changes the layout consideration significantly. Guillotine based algorithms [1](, [2]( are significantly more efficient and should be considered, since there is limited human involvement. If you do adapt this, please let me know / contribute!

Project Information