This project is not covered by Drupal’s security advisory policy.
Summary
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 [https://github.com/juj/RectangleBinPack](https://github.com/juj/RectangleBinPack) 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](https://github.com/juj/RectangleBinPack/blob/master/GuillotineBinPack.cpp), [2](http://www.win.tue.nl/~nikhil/pubs/Bansal-packing.pdf) 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
- Created by JacobSanford on , updated
- This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.