software for calculating optimal cut list on stock?

I have a problem which cannot be unique to me. I have to cut a whole bunch of pieces of known length from several lengths of stock. What I need is some
software which will run on a Windows box which can take as input the piece lengths I need and also the material length (often 20') and tell me how many lengths of material I need to order and what size pieces to cut out of each piece of stock.
Does such software exist?
Grant Erwin Tinyisland Forge Kirkland, Washington
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
There is a ton of this sort of thing being used by the woodworking industry, I stumbled across it yesterday
my search was "router software" or something of that nature.
Is anyone aware of a product that competes with v-carve?

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

That's actually a variant on the "Knapsack Problem", which is one of the standard problems we use to teach advanced algorithms. It turns out that there are pathological cases for which no better solution is known than just trying all the different possibilities and seeing which one works best.

It must, though I don't know of it.

I hadn't noticed where you were, before -- I grew up in Juanita (on Holmes Point Drive, actually)
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
writes:

Kinda like calculating intersects. For some there is no exact answer, just the level of precision you require?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Not really -- calculating intercepts will always have an exact answer, it just might not be one that's on a ruler (I have yet to find a ruler that marks the square root of 2!). And even if the answer is on the ruler, you're still just working to the precision of the ruler.
This is also a problem with an exact answer, the problem is finding it in a reasonable time.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Ok, you got me. A practical reachable solution then. LOL.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
writes:

Kinda like calculating intersects. For some there is no exact answer, just the level of precision you require?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Bob La Londe wrote:

I was going to order 15 lengths of 1x2x.120" rectangular stainless grade 304 tube. Then I got Marv Klotz's software, and found out I can get by with 13, plus it gave me the exact cut list to give to the sawyer. Saved me over $300 just for asking!
Grant
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Grant Erwin wrote:

I'm sure it exists, not sure what it would be called for linear stock. On sheet stock it's called a "nesting" program.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Seems to me it is the length of material + kerf = 1 item. So one could create a spreadsheet that input the material length and the kerf width and generate n numbers of lines. Then the user looks down and sees 48 = 20.5' so 47 is the number.
Seems like a spreadsheet and an eye could do it nicely.
Martin
Martin H. Eastburn @ home at Lions' Lair with our computer lionslair at consolidated dot net TSRA, Endowed; NRA LOH & Patron Member, Golden Eagle, Patriot's Medal. NRA Second Amendment Task Force Charter Founder IHMSA and NRA Metallic Silhouette maker & member. http://lufkinced.com /
Grant Erwin wrote:

----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==---- http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups ---= - Total Privacy via Encryption =---
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"Martin H. Eastburn" wrote:

You're assuming a single part length. When you need parts in 4 or 5 different lengths optimally cut from your 20' sticks of material things get more complicated.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I would be interested in a program like that as well. Any job complex enough I can't figure in my head, I lay out by dragging and dropping line segments in a AutoCad. Same with shapes out of sheets. If the material cost and or quantity is high enough, it's the only way I know.
I considered writing a program for linear lengths a few years ago, but like Joe mentioned earlier in the thread, all I could figure is just test all the possibly.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Even with a varying list of lengths - an array of lengths could be built and worked off of. It is easy to make the array all of the same number for the same length. The trick would be the start and end - have two cells for those pointers.
I think a spreadsheet would be useful. Just a little code in the cells. And a data base in an array.
Martin
Martin H. Eastburn @ home at Lions' Lair with our computer lionslair at consolidated dot net TSRA, Endowed; NRA LOH & Patron Member, Golden Eagle, Patriot's Medal. NRA Second Amendment Task Force Charter Founder IHMSA and NRA Metallic Silhouette maker & member. http://lufkinced.com /
Maxwell wrote:

----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==---- http://www.pronews.com The #1 Newsgroup Service in the World! >100,000 Newsgroups ---= - Total Privacy via Encryption =---
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
For the record, the stock optimizer programs I've seen used on wood boards with random bad spots can be optimized for length, max utilization of wood, and several other parameters.
A real simple approach is to use a spread sheet. At the top is a series of rows with a summation of the row at the end. At the bottom is a whole series of cells with each of the cuts that you need in decimal inches with kerf allowance. Drag each piece into place stating with the longest.
Grant Erwin wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I know of one program that does linear nesting. It is called Romac Nesting. My steel supplier uses it to determine the best lengths and utilization of structural beams, tubes, channels, etc. It is pretty vague and basically spits out a spreadsheet of lengths and drops. I am not real impressed with this system as of the last structural project that I did. I still had to do up cut lists for my guys processing. As far as I am concerned the best hardware/software combo going is the standard equipment between your ears and at the end of your arms. It just seems these days that everyone is to lazy to really use or trust it. Amazingly enough, this all used to be done manually. If you are doing a large enough project and are worried about the best utilization of material, then have your steel supplier quote you on providing parts cut to length. Easy, no thinking. If something is wrong (too short, missing parts, etc) it isn't your problem, it's theirs. "Fix my problem, I have a deadline and you are putting me behind" More volume faster action.
Drew
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Drew McEachren wrote:

Marv Klotz's program is working fine. See his post on this topic.
Thanks to all!
Grant Erwin
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Marv Klotz's program? Is it in this tread? I don't see a post from Marv Klotz.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Maxwell wrote:

Marv's free software can be downloaded here: http://www.myvirtualnetwork.com/mklotz/files/cuts.zip
To use it, uncompress it into a directory and edit the file CUTS.DAT in that directory. If you have a Windows box, right-click on CUTS.EXE and select Properties->Program and uncheck "Close on exit".
Within CUTS.DAT, you must specify the (single) length of your stock. For me, that number is often twenty feet, or 240 inches. If you are working with lengths that are exactly 20.0' (like some stainless comes) then you may wish to add a saw kerf to each part length (e.g. add .050").
To run it, I do Start->Run and type in "cmd" which gives me a DOS window. Navigate to your install directory and type "cuts > cuts.txt". This redirects the output to go to a text file which you can massage and/or print to make a cut list. The screen will turn green and blank, and type an 'n' into the blank screen (answering the question about trying the zero waste case first). Run time may be extended, the runs I'm doing now on 13 lengths of stock cut into about 18 different part lengths are going for 3-4 hours on a 9 year old PC with plenty of memory. When you see the DOS prompt reappear, then, using a text editor, edit your output file. The name of this file is whatever you typed in - above, I used "cuts.txt" but you can do whatever you want.
It will take a moment to figure out the format of the output.
I suggest running it on a simple case first, to get the hang of it.
If your run times become excessive, you can split your runs in half by commenting out first the second half of CUTS.DAT and then the first half, and doing two different software runs. The run time explodes, so cutting the data in half can often shorten the run time by a factor of 1000 or more.
There are help pages and you can read the C code if you like.
Grant
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Fri, 18 Jul 2008 21:03:47 +0000, Grant Erwin wrote:

The zip file also includes CUTLIST.EXE which is supposed to run much faster. My understanding of certain comments in the code is that CUTS.EXE does an exhaustive search, while CUTLIST.EXE uses a fast greedy algorithm that might not provide the absolutely best solution. My understanding of other comments in the code is that CUTS.EXE uses a slow greedy algorithm rather than exhaustive search. I haven't actually run either one, but suggest you try both; CUTLIST.EXE is supposed to accept the same data file, run faster, and produce just as good a solution.
REMNANT.EXE, also in the zip file, figures out a cutting list when you start with different lengths of stock instead of all the same. -jiw
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.