How to let elevators only service certain floors without separate elevator banks, I have tried ussing barrier, but it doesn't work, my elevator bank is adding multiple lifts, I want to let each elevator service certain floors.
How to let elevators only service certain floors without separate elevator banks, I have tried ussing barrier, but it doesn't work, my elevator bank is adding multiple lifts, I want to let each elevator service certain floors.
This isn't possible without essentially rebuilding the elevator bank object. The attached model demonstrates one possible workaround.
Depending on the current and target position, the person is first send to a floor spot in front of an elevator bank. This way, that elevator bank is the closest connection to the other grids and will be used. Which elevator gets chosen is determined by two things: Does the elevator service the current and target floor and which of the possible elevators is currently the least utilized.
The first is controlled by a label array on the elevator banks. A one signifies that it can stop at the respective floor, a zero that it can't. Only if both the value for the current and target floor (floors numbered 1-3) are 1 can the elevator be chosen.
The utilization is determined by two things: The state of the elevator inside the bank (if it is currently idle it will be chosen without checking others) and a second label that tracks the number of travellers set to use that elevator. It is incremented each time a person is send to a corresponding floor spot and decremented in the "On Traveler Continue" trigger on the elevator bank.
@Felix Möhlmann you really help me a lot, l have been solving this problem for a long time
The code is only used to determine in front of which elevator a person should wait. The <= 6 expression is used when the elevator is currently idle, to try and first fill up one elevator before sending people to another elevator. If all elevators are currently busy or have more than 6 travelers assigned, the person is send to the one with fewer assigned travelers to balance the load.
How many people can fit in an elevator car at a time is enforced by the banks itself. Each car has a capacity that can be set in the properties.
This is evaluated against the "traveler capacity usage" a person has; by default this is the area their bounding box occupies (x-size * y-size). With the default settings a car can load up to 4/(0.58*0.4) = 17.24 people. Instead you could set the footprint to 1 for example, so the capacity is simply the number of travelers the evelator can transport at a time.
I also just noticed that the reset trigger of the elevator banks doesn't seem to work, so the "travelers" label didn't get reset between runs. I added some code to the global "On Model Reset" trigger to rectify this and reset the labels.
15 People are following this question.
FlexSim can help you understand and improve any system or process. Transform your existing data into accurate predictions.
FlexSim is a fully 3D simulation software environment. FlexSim can be used to simulate any process in any industry.
FlexSim®, FlexSim Healthcare™, Problem Solved.®, the FlexSim logo, the FlexSim X-mark, and the FlexSim Healthcare logo with stylized Caduceus mark are trademarks of FlexSim Software Products, Inc. All rights reserved.
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © Autodesk Inc. All rights reserved