user1728853
user1728853

Reputation: 2707

Efficient 2D cutting algorithm

I need to design a program for a machine that mills out parts of blocks of aluminum. The parts are 2D. The time it takes to mill each part is fairly extensive.

I'm looking for an algorithm to find a solution to mill out these parts in minimal time. The machine removes aluminum away from the block to construct the final shape so the possible mill paths are almost unlimited. Can anyone point me in the right direction or propose a solution to this problem? I don't know if such an algorithm exists.

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

Update: I added an example shape below. The part with diagonal lines is the final shape and the dotted rectangle is the starting aluminum block. The machine needs to remove all of the aluminum with the exception of the diagonal area.

enter image description here

Upvotes: 4

Views: 510

Answers (1)

andrew cooke
andrew cooke

Reputation: 46892

i would think this is way more complex than you are describing. there are likely constraints on the quality of the final cut, on the speed of the cut (depending on the volume you are removing), whether or not you can change bits, on how material can be clamped, etc.

but just taking your request at face value, i would suggest:

  • following the outline to cut the shape.

  • identify remaining material and use raster scans (side to side, shifting down at each end by the bit width) to eat away the material

that gives you a decent finish (the outline is a single cut so only one joint, which can be at a corner) and reasonable speed (you're trying to minimize time spent not cutting, which will only be when moving from one scan area to another).

Upvotes: 3

Related Questions