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.
cabinetry_cabinet_project helps craft European style (no face frame) cabinets, boxes, drawers and doors.
cabinetry_wainscot is currently being developed.
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 (https://github.com/juj/RectangleBinPack/blob/master/GuillotineBinPack.cpp), (https://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!
|8.x-1.x-dev||tar.gz (44.9 KB) | zip (103.35 KB)||2017年7月5日||发布说明||简 | 繁 | 更多|