question

Raji A2 avatar image
0 Likes"
Raji A2 asked Jason Lightfoot commented

store packed pallet in floor storage 2019

Hi, I have a combiner that combines 8 boxes in one packed pallet. (2019 version)

when I store them in a floor storage rack the pallets are put over each other ignoring the boxes.

How can I make the next packed pallet stored upper the previous one?


Packed_pallet.fsm1650431245013.png

FlexSim 19.0.0
packed pallet
1650431245013.png (138.3 KiB)
packed-pallet.fsm (21.8 KiB)
· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

Hi @Raji A2, was Felix Möhlmann's answer helpful? If so, please click the "Accept" button at the bottom of the one that best answers your question. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes 0 ·

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered

The stacking logic does not take into account any items contained inside the stored object (such as boxes on a pallet).

But you can use the "On Entry" trigger to adjust the location of the entering item (pallet) based on the position of the items on the previous pallet. The following code will set its z-location to be equal to the highest item position on the previous pallet:

Object current = ownerobject(c);
Object item = param(1);
int port = param(2);
int bay = param(3);
int level = param(4);

// Restack items in cell
int cellContent = rackgetcellcontent(current, bay, level);
if(cellContent > 1)
{
    Object prevPallet = rackgetitembybaylevel(current, bay, level, cellContent-1);
    double maxHeight = 0;
    for(int rank = 1; rank <= prevPallet.subnodes.length; rank++)
    {
        // Get item reference
        Object item = prevPallet.subnodes[rank];
        // Is item top higher than current maxHeight?
        if(item.getLocation(0.5, 0.5, 1).z > maxHeight)
        {
            maxHeight = item.getLocation(0.5, 0.5, 1).z;
        }
    }
    item.location.z = prevPallet.getLocation(0.5, 0.5, 0).z + maxHeight;
}

If it's possible that the pallets leave the rack in a different order you might want to also re-position all pallets in a rack cell whenever an item exits (On Exit trigger).

I added an example to the attached model.

packed-pallet-fm.fsm


packed-pallet-fm.fsm (184.2 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.