I recently talked to a carpenter he said it would be a huge help for him if he had a utility that does this:
Given a piece of wood sheet like 2.5m x 1.5m. He wants to build a furniture, there is a number of components to cut from the raw material. All sorts of components, different sizes, rectangular ones. E.g. 6pcs of 40cm x 15cm, 2pcs of 200cm x 50cm, etc. The point is the app must calculate the most fitting and the best method for cutting the wood to pieces.
It might require an other sheet of wood if the human placement does an error and that costs money. The software might be able to find a better and more optimal placement for cutting the pieces from that raw material. Then one sheet will be enough.
Just a rought sketch of the output:
He also may switch between the: biggest leftover piece available (if the other method would make it from the same amount of raw sheets) / more junk but pieces but make it fit in one sheet.
How easy is this? How much to develop the core function? I’d take care of the rest.. But I have no idea where to start. Please drop me a mail from my profile.
I think you should calculate area of all pieces first. if the total area of pcs is less or equal to area of sheet. the software should display something affirmative.
then, it should cut the largest pieces first and remember the other left. then for smaller pieces, it should check all the left pcs of sheet for the best pcs to use.
algorithm may be complex but it is not impossible.
which software do you want to use?
Well I thought of flash first because I’m familiar with it (AS2) but if it’s AS3 it’s not a problem. I’m gonna have to know the base price of this because this might be out of his budget and my skills.
if you are saying approximate cost. then it will be several hundred dollars. may be this is more than carpenter can spend.
Well, Firsh, I think I can handle this. I will also give you a good quote for your carpenter. Kindly contact me through my profile page, and we can discuss this. After all, I personally love solving such problems.
@KamilWaheed I don’t think he was looking to outsource it, but rather to get an estimation of the difficulty of the project.
Personally, I don’t really see how I’d solve this.. probably start with the largest piece and then work towards the smallest, but that’s definitely not failproof. Firsh, I think it might be usefull if he told you how he does it manually at the moment – that way you might be able to recreate the algorithm he does in his head into a piece of software that will follow it strictly, after some perfectioning where nessesary..
I’d try and create it using a language that’s more compliant with doing lots and lots of calculations, since this might be a puzzle only solved by bruteforcing..
Keep us posted if/when you find the solution!
EDIT : I just remember.. I believe there was a Project Euler problem on something like this – I’ll have a look if I can find it!
@KamilWaheed I don’t think he was looking to outsource it, but rather to get an estimation of the difficulty of the project. Personally, I don’t really see how I’d solve this.. probably start with the largest piece and then work towards the smallest, but that’s definitely not failproof. Firsh, I think it might be usefull if he told you how he does it manually at the moment – that way you might be able to recreate the algorithm he does in his head into a piece of software that will follow it strictly, after some perfectioning where nessesary..
That’s a good idea. Well I’m open for outsourcing it because I’m kinda busy at the moment. Kamil gave me an affordable price tho. Will see how much the carpenter really needs it
You could put him to input all the pieces in the program. Then let him move them on the screen, in the limited area of the material. With snap to margins or to current objects & stuff. And at the end, by selecting any piece, he can find out all the coordinates he needs to begin cutting.
In time you can work on the automated system.
it is complicated algorithm. it needs time for perfection. thus, a good amount of money.
That’s your basic problem. Your problem is more difficult because you want to calculate cost based on surface area?
For that you will need to be able to calculate the surface area for any possible surface? You will need to create an algorithm that divides a shape into triangles and then approximates the size.