*** WARNING! *** This is an abandoned development version of cutlist. Go to Cutlist Workbench for its successor.
This calculator attempts to generate the most efficient cut list for a given set of pieces. Note my use of the word "attempts." There are several ways to solve this problem and several "correct" answers. This tries one way and gives you a correct answer. It's based on linear board-feet and so works only in the one dimension. I may expand it to handle plywood at some point in the future but don't count on it.
If you have comments you can send them to me at jonathan@overholt.org or on Google+. I hope this is helpful!
/1 | /2 | /4 | /8 | /16 | /32 | Dec |
---|---|---|---|---|---|---|
1 | 0.03125 | |||||
1 | 2 | 0.0625 | ||||
3 | 0.09375 | |||||
1 | 2 | 4 | 0.125 | |||
5 | 0.15625 | |||||
3 | 6 | 0.1875 | ||||
7 | 0.21875 | |||||
1 | 2 | 4 | 8 | 0.25 | ||
9 | 0.28125 | |||||
5 | 10 | 0.3125 | ||||
11 | 0.34375 | |||||
3 | 6 | 12 | 0.375 | |||
13 | 0.40625 | |||||
7 | 14 | 0.4375 | ||||
15 | 0.46875 | |||||
1 | 2 | 4 | 8 | 16 | 0.5 | |
17 | 0.53125 | |||||
9 | 18 | 0.5625 | ||||
19 | 0.59375 | |||||
5 | 10 | 20 | 0.625 | |||
21 | 0.65625 | |||||
11 | 22 | 0.6875 | ||||
23 | 0.71875 | |||||
3 | 6 | 12 | 24 | 0.75 | ||
25 | 0.78125 | |||||
13 | 26 | 0.8125 | ||||
27 | 0.84375 | |||||
7 | 14 | 28 | 0.875 | |||
29 | 0.90625 | |||||
15 | 30 | 0.9375 | ||||
31 | 0.96875 |
Kerf:
Algorithm:
The legacy algorithm is the original solution I found to this problem. It naively assumes that longer stock are cheaper per foot. It will optimize fairly well to reduce waste and gives decent results in most cases.
The pricewise algorithm is a modification of legacy that removes the sometimes-faulty assumption that it is based on. Instead, it uses the price column of available stock to make optimize for price. This may give some counterintuitive results but it tends to be about 5% cheaper in my testing.
If you can, consider running both algorithms and picking the best result.
Units: (Note that this isn't yet fully implemented and should be left as inches)
The name and length columns are required. The quantity column is not used by the legacy algorithm and is only present for planned expansion. Cost is only used by the pricewise algorithm and can be ignored if you're using legacy. If you right click on a cell, there is a context menu of options to add and remove rows.
I'm aware that this input table doesn't work on some mobile devices. I'm looking into that. The legacy application is available on the toolbar above, in case you can't get this working.
Length and quantity are required and fairly self-explanitory. Code is required, as well, and is a shorthand notation for each piece — for this, I usually use a letter or two that I would physically write on the boards to keep track of things. Description is optional and is just there to explain the code a little better, if you like.
I'm aware that this input table doesn't work on some mobile devices. I'm looking into that. The legacy application is available on the toolbar above, in case you can't get this working.
This iteration of Cutlist has been built on the work of a number of other people. The included projects are listed here.
JQuery and JQuery UI are used to facilitate the user interface and AJAX communication with the server.
HandsonTable is a JQuery extension that provides the nice Excel-like grids for input.