Alignment ignored if Accumulating is TRUE?

40 views
Skip to first unread message

Martin Madaj

unread,
Feb 4, 2026, 11:29:24 AM (11 days ago) Feb 4
to jaamsi...@googlegroups.com
Hello,
I've been playing with JaamSim for a while and it's a pretty nice software. Now, I have something that looks like a bug to me.

Is it intentional that if the Accumulating variable for the conveyor is set to TRUE, the Alignment of the SimEntity is ignored when entering the conveyor? See the attached table with comparison. I’m using JaamSim 2025-10.

Thanks,
Martin Madaj.

Jaamsim_Alignment_vs_Accumulating.pdf
variable_accumulation_length.cfg

Harry King

unread,
Feb 4, 2026, 11:44:03 PM (10 days ago) Feb 4
to JaamSim Users Discussion Group
Hi Martin,

When an EntityConveyor is set to accumulating, the SimEntities are positioned with their leading edges at the relevant points along the conveyor. This is necessary, so that the SimEntities appear correctly when they bunch up at the end of the conveyor. Otherwise, if the SimEntities have different lengths, they would overlap each other.

Admittedly, this is a subtle issue that is not a problem when the SimEntities all have the same length, which is often the case. To avoid confusion, we will add a new input that will turn this behaviour on and off, with the default being off.

Harry

Martin Madaj

unread,
Feb 5, 2026, 3:35:04 AM (10 days ago) Feb 5
to JaamSim Users Discussion Group
Hi Harry,

I think it's clearer to me now.

I tried to simulate a smooth entry of entities with different lengths onto the conveyor and prevent overlap at the start of the conveyor. I wanted to achieve the smooth entry by setting the Alignment to the leading edge (0.5 0 0), and setting EntitySpace = this.obj.GraphicalLength was supposed to prevent overlap on the conveyor.

However, a problem occurred as soon as a new component with different dimensions was generated, because the value of EntitySpace was updated. I tried to handle this with a condition, but it still didn’t work properly.

Now I see that when Accumulating = True is selected, this problem is solved automatically - only with the difference that visually, the entities do not enter the conveyor smoothly but instead appear at its start and wait until they can move forward.

Thanks! M.


Dne čtvrtek 5. února 2026 v 5:44:03 UTC+1 uživatel d.harr...@gmail.com napsal:

Harry King

unread,
Feb 5, 2026, 7:35:32 PM (10 days ago) Feb 5
to JaamSim Users Discussion Group
Hi Martin,

I made a mistake in my previous post. The entities on an accumulating conveyor are positioned with their trailing edges at their positions on the conveyor. This is equivalent to an alignment of -0.5, 0, 0.

The output 'ReadyForNextEntity' is intended to control the entry of the next entity to the EntityConveyor. The example 'EntityConveyor Example - with Accumulating' demonstrates how to use this output with an ExpressionThreshold and the ReleaseThresholdList input for the upstream conveyor.

As you note, it becomes more difficult when the entities have different lengths. The attached model shows how to use the EntitySpace input in that situation.

Harry

EntityConveyor Length Test.cfg

Martin Madaj

unread,
Feb 11, 2026, 5:40:21 AM (4 days ago) Feb 11
to JaamSim Users Discussion Group
Hi Harry,
Using the EntitySpace for entities of different lengths on the second conveyor was not a problem for me (anyway, thanks for the example cfg file because there were some things I haven't noticed before). However, I struggled with the spacing of the entities on the first conveyor, especially when the frequency of the incoming entities was faster than the frequency at which the waiting entities began to move on the conveyor. The mix of different parameters (EntitySpace, AccumulationLength, and Accumulating True/False) and alignment confused me. Now, I think I have figured it out for my case (given the current behavior of the conveyors). Briefly: 
  • No accumulation needed: Alignment -0.5 0.0 0.0, EntitySpace = Set the value to reflect the current object entering the conveyor + additional space if needed.
  • Accumulation is needed: No need to deal with the Alignment, AccumulationLength =  Set the value to reflect the current object entering the conveyor + additional space if needed.
M.
Dne pátek 6. února 2026 v 1:35:32 UTC+1 uživatel d.harr...@gmail.com napsal:
Reply all
Reply to author
Forward
0 new messages