Efficient 2D cutting algorithm

I need to develop a program for a machine that grinds parts of aluminum blocks. Details are 2D. The time spent on the mill of each part is quite extensive.

I am looking for an algorithm to find a solution to grind these parts in minimal time. The machine removes aluminum from the block in order to build the final shape, so the possible paths of the mill are practically unlimited. Can someone point me in the right direction or suggest a solution to this problem? I do not know if such an algorithm exists.

Since I need to implement this algorithm myself, there is a trade-off between the complexity of the algorithm and the ease of implementation.

Update: I added the form below. The part with diagonal lines is the final shape, and the dashed rectangle is the original aluminum block. The machine must remove all aluminum except the diagonal area.

enter image description here

+4
source share
1 answer

I think this is a lot more complicated than you describe. there is a possibility of limiting the quality of the final cut, the cutting speed (depending on the volume that you are removing), regardless of whether you can change the bits, how the material can be clamped, etc.

but just accepting your request at face value, I would suggest:

  • following the pattern to cut the shape.

  • identify the remaining material and use a raster scan (side, offset down at each end in the width of the bit) to eat the material

which gives you a decent finish (the contour is the only cut, so there is only one connection that can be in the corner) and reasonable speed (you try to minimize the time spent not on cutting, which will only be when moving from one scanning area to another).

+3
source

Source: https://habr.com/ru/post/1491266/


All Articles