enzoruiz/3dbinpacking

remove the item that do not stack on top of each other

mjsandoval04 opened this issue · 1 comments

Hello folks,

I am new to 3dbinpacking and python in general, so go easy on me.

I've been trying to use 3dbinpacking to create a simulation in Anylogic in which operators use a pallet-trolley to pick boxes/items in a specific order from a warehouse. The pick order is based on the results of the Bin-Packing algorithm.

the container/bin is based on the standard dimension of a EuroPallet and the boxes are standard carton boxes with different sizes.

My issue is that some of the boxes do not overlap 100%. This is ok if the pallet is actually enclosed but in a real-world scenario like using a pallet trolley to pick boxes if the boxes are not put one on top of the other they will probably fall down

my question is there a way to remove the items/boxes that do not stack on top of each other?

Current results of running 3dbinpacking

boxesissue2 DXF_001

Desire results after removing items/boxes with the surface not overlapping 100% another item/box (the remaining boxes should be packed in another container/bin)

boxes issue 2 DXF

Hi @mjsandoval04,

This happens because in function pack_to_bin, positions along the Axis.WIDTH are checked for all items currently in the bin before moving onto the next axis. So if any item currently in the bin has an available spot along the width axis, it will be picked first.

Since the XYZ coordinates of each item inside the bin are already known, it is possible to write an additional check that checks if the item to be placed would have enough support surface.