What's new in AnyLogic 8.4
Material Handling Library
movement: Transporters can now move
without the need for guidance paths. They can take into account
obstacles, including walls, equipment installations and other
transporters. Free space navigation can be specified in the TransporterFleet
guided transporters (AGVs), 8.4 now enables custom routing
logic to be specified in the TransporterControl
conveyor networks and AGVs:
New elements in AnyLogic 8.4 make it possible to operate networks of
conveyors and transporters across multiple segments and levels. The Network Port
element allows you to logically connect two conveyor networks or
sections of a conveyor into a single network. While a new Lift
space markup element can connect networks operating on different
levels. Navigation between ports and lifts can be configured or left
automatic. Together, these objects simplify the modeling of complex
multi-level conveyor systems.
A Jib Crane
space markup element is also now available, it is operated by the MoveByCrane
block. It can connect one or more networks.
Dynamic route recalculation can now be done on demand by
calling the recalculateRoute()
function. For example, if reading the current conditions from the Convey
block shows that there is congestion, it can change the route of a
material item or AGV.
final notable development in the Material Handling Library relates to
the connection of conveyors at angles. Previously it was necessary to
or Transfer Table
elements. Now, a Conveyor
Spur element is automatically created instead.
User interface and working with models
We have improved 3D and 2D animations with increased frame
rates and responsiveness.
Now automatic code
formatting can be applied to one or several elements, or even
the whole model.
Models can now be exported
as separate Java applications from both the GUI and the command line.
models can include embedded browsers for different OSes. This makes
models accessible even if you do not know the OS of a target computer.
When the model is running, in the Developer panel, you can go
to the Events
panel and observe the event queue. You can also go to the event itself
or the agent that it applies to.
Model resource management
In addition to the model file and its database, there may also
other associated resources, such as GIS and CAD files, images, text,
and spreadsheets. In 8.4, they can be managed from the Resources
group in the model tree. Furthermore, AnyLogic knows which files are
needed to launch a model and includes them when exporting.
Process Modeling Library
To improve the animation performance of large storage systems,
the default drawing mode of the RackSystem
block is now color indication mode.
block now has a new operation mode Exact
This causes it to wait until it has the specified number of items
before moving on. For example, packaging items coming off a conveyor in
a material handling model.
With the release of 8.4, we have also released AnyLogic
Private Cloud Lite
– a low-cost, easy-install version of AnyLogic Cloud. It can be
installed on a local network workstation and allows the private sharing
of simulation models within an organization. You can compare the versions of AnyLogic Cloud here.
Excel files, or any other file type, can now be used to set simulation model
New example models
- Runtime UI: Added indicators for network access and
individual runs in multi-run experiments.
- Runtime UI: Scale object (ruler) is now displayed at
- Runtime UI: Rapid changing of the index of a replicated
being displayed by pressing Up
keys while the focus
is in the index field (in Developer
panel). Allows for quicker iteration through the population.
- Runtime UI: Added time of day input to the Run until... and Pause at... controls.
- Runtime UI: Ctrl+scroll
changes 2D presentation zoom.
- Runtime UI: Improved visual appearance of the chart area:
solid borders are drawn only along axes.
- Engine: Improved error diagnostics in some cases.
- Engine API & Runtime UI: Disabling and enabling of
and speed control button groups at runtime by calling the setRunControlEnabled()
functions of ExperimentHost.
- Engine API: Added the onError(error,
callback to the experiment API - may be overridden like the single
argument function onError(error),
provides access to the originating top-level agent of the model (useful
in multiple run experiments).
- Engine API: Added the remove()
function to all markup elements - an easy way to remove the element
from the presentation. Such removal however does not necessarily mean
removing from the model logic as logical networks and routes may have
been created before the removal and survive it.
- Engine API: Added ShapeArrowLine
- a line with optional
arrowheads. Use this object should you need a line with arrows.
Arrow-related API of ShapeLine
deprecated and will be deleted in
- Engine API: Added indexOf(array,
textExpression) function to find the first matching
e.g. indexOf( people, p
- Engine API: traceln()
functions now support
printing 2D arrays.
- Engine API: Added higher performance mode for models with
System Dynamics equations and dense discrete events. See the new
- Engine API: Added Pair
to the public API.
- Engine API: Added temporary API to change the line and fill
colors of individual shapes in the shape file at runtime - see ShapeGISMap.Layer
WARNING: this API is unstable and may be replaced in the future.
- Engine API: Changed SQL Java API (QueryDSL-based):
was replaced with hasResults().
- Changed code generation. Any custom user libraries should
rebuilt to work with this version of AnyLogic.
- Graphical Editor: Resize
handles are optimized to edit small shapes.
- Graphical Editor: Expanded range for zoom by Ctlr+scroll: 5% - 4000%.
- Graphical Editor: Scale of 3D
object can be changed by dragging the handle.
- Graphical Editor: Custom search bounds are now displayed on
a GIS Map.
- Graphical Editor: Conveyors: Now AnyLogic automatically
Z-level for new markup elements on connection to the existing conveyor
with the defined Z-level.
- Graphical Editor: Legacy: added context-menu action in the
graphical editor to convert Action Chart
- Application: Download and single-click installation of the
of built-in browsers for all operating systems - useful when exporting
model as a stand-alone application targeted to different OS. See
AnyLogic Help menu.
- Application: Added browser choice to Preferences
- used when running the
model from AnyLogic.
- Application: Enabled switching to AnyLogic while the Get Support window
is open (it can
be minimized and is no longer modal).
- Application: Path
elements are now always inside networks.
AnyLogic creates networks automatically for all single (not connected)
Path elements. Old models are converted upon open.
- Application: Progress of model export to
stand-alone application is now more precise when copying
- Application: Added COMPACT parameter as AnyLogic database
- Application: Added option to Preferences
to setup maximum
available memory for AnyLogic Database.
- Application: Updated some of the third-party libraries to
latest versions, e.g. database libraries. Models that use QueryDSL API
directly may have compilation errors and will require code review and
- Application: Projects View: All types of networks and grounds that contain
a single element
are now expanded in the Projects view for
- Application: New Experiment wizard: custom
now may have model time settings taken from other experiments.
- Application: Welcome page: Added links to AnyLogic Cloud
- Properties View: Added Color
class option when choosing types for parameters and variables.
- Properties View: Database: Enabled viewing of the resources
(Excel/Access/external server) used for the auto import / export.
- Properties View: Enabled editing properties of multiple
library blocks of the same type.
- Process Modeling Library: Pickup
block now has the Exact
option: a container agent will wait until there are enough items coming
into the 'inPickup' port (e.g. packaging items from Convey
block in a material
- Process Modeling Library: RackSystem
by default now uses
this drawing mode for stored agents: Don't
draw, use color indication (fast). This significantly
animation performance of large warehouse models. Check your models
appearance and go back to the At
default position mode if needed.
- Process Modeling Library: Function Delay.getDelayTime()
now returns the initially chosen value for the agent, it isn't
increased when block/agent is suspended.
- Process Modeling Library: Seize
/ Service /...:
Added warning when agent passes the block immediately due to empty
resource set(s) defined.
- Process Modeling, Pedestrian and Road Traffic Libraries:
blocks now have a no argument inject()
function, an equivalent to calling inject(1).
- Material Handling Library: Added Is
obstacle property for markup elements to be used by
with free space type of navigation.
- Material Handling Library: Added On
at exit action for MoveByTransporter
- Material Handling Library: Station:
Renamed parameter Delay
to Process time.
- Material Handling Library: PositionOnConveyor:
callback for cell conveyors: On
enter and On
- Fluid Library: Animation of the ProcessTank
now has beautiful gradient color transition in processing phase, and
components are shown in MixTank
- Fluid Library: API: functions of MixTank
related to batches and
functions of ProcessTank
related to batch
colors have changed their return values. Consult the documentation.
- Fluid Library: FluidToAgent: flush() function forces the
block to create a
new agent from the current amount accumulated in the block regardless
of the block settings.
- Fluid Library: MixTank: updateAmounts() function
updates the component
amounts if the mix is specified by amounts of the components. If the
mix is specified by the total amount and fractions of each component,
the function updates the total amount of mix. The tank must be empty at
the time of the function call.
- Fluid Library: ProcessTank: updateCapacity() forces
re-evaluate the dynamic capacity parameter.
- Fluid Library: FluidSelectInput: toggle() function now returns
1 if input 1
becomes selected or 2 if input 2 becomes selected.
- Fluid Library: Handling of numeric errors by snapping the
calculated values to acceptable via comparison to internal
- Fluid Library: Added API to get the transporter that is
transporting an agent: getTransporter().
- Legacy: the 32-bit version of AnyLogic for Windows
no longer supported.
- Runtime UI: Fixed: Drawing of the icon for initially empty
population in some cases.
- Runtime UI: Fixed: Drawing of Plot
with dynamically added datasets:
there could be filled area under the line.
- Runtime UI: Fixed bug: The Navigation type property of 3D
- Runtime UI: Fixed: Sloped area was drawn
in 3D like a
- Runtime UI: Fixed: Agents of ignored agent type with custom
caused error during animation frame drawing.
- Runtime UI: Fixed: In some cases agent presentation
- Runtime UI: Fixed: Runtime drawing of the Arc
element with angle >= 2*PI.
- Runtime UI: Fixed: GIS shape files rendering at runtime:
excluded inner regions and multiple region shapes are now displayed
- Runtime UI: Fixed: Drop-down list of a combo box at runtime
within the visible area (opens either upwards or downwards).
- Runtime UI: Fixed: Animation of agents in GIS space now
scaling rules (hide, show constant size, or use real scale).
- Runtime UI: Fixed: 2D projections of shapes rotated around
X or Y
axis are now adjusted according to the rotation angle.
- Runtime UI: Fixed: Arrowheads of agent links are now drawn
according to the settings.
- Runtime UI: Fixed: Drawing of 3D
objects inside a replicated group.
- Runtime UI: Fixed: Possible issues with color contrast of
- Engine: Fixed bug: Added randomizing the locations for
created agents in continuous space were - if Random layout option
- Engine: Fixed: Error during the construction of the network
special cases of paths
and nodes inside
- Engine: Fixed: Logging to the database
feature for agents
- Engine: Fixed: Calling presentation.remove(markupElement)
the markup element from the presentation. See also: added remove()
function to markup elements.
- Engine: Fixed: Initial visibility issue for GIS markup
dynamically added to the map by using GIS search API.
- Engine: Fixed: Calling Agent.jumpTo(node)
with the node from different space now automatically moves agent to
- Engine: Fixed: Loading from snapshot of models with agents
generated in the Source
by arrival table from the database.
- Engine API: Fixed TextFile.print()
functions, when called with an array argument, they now write the array
- Engine API: Fixed: 3D
color) function wasn't working if custom colors were not
- Graphical Editor: Fixed problems with drawing Parking
lot, Bus stop
elements on HiDPI displays.
- Graphical Editor: Fixed problems with placing a transfer table
a narrow conveyor.
- Graphical Editor: Fixed problems with repainting some
when changing colors in the Properties
- Application: Fixed error that occurred on adding one more Generic parameter to
- Application: Fixed: Temporary directory with model sources
deleted after uploading
the model to AnyLogic
- Application: Fixed: If Excel file contains formulas, the
table has empty cells instead of the result.
- Application: Fixed: Create
Documentation feature returns the
report with nulls in column headers and page numbers.
- Application: Fixed: Subdimensions are not copied with the
- Application: Fixed error when adding 3D object with spaces
- Application: Fixed: AnyLogic proxy settings were not
to the running model.
- Application: Fixed bug with switching the product language
- Properties View: Fixed: Copy-paste actions for tables with
coordinates (e.g. points of path).
- Properties View: Fixed: Error while linking slider to a
of flowchart block.
- Properties View: Fixed: Schedule:
wrong conversion from days to
week in the Repeat every
- Properties View: Fixed: Error in the Position and size
selecting several geometric elements (Rectangle,
- Properties View: Fixed: Maximum available memory for Experiment
/ Run Configuration
- Properties View: Fixed: Some properties of Material
space markups elements didn't support multiselection editing.
- Process Modeling Library: Fixed: Custom agent speed defined
properties of Agent type
section could be not applied for agents created in
- Material Handling Library: Fixed: Enabled using self
variable in the code fields of Material
Handling Library space markup elements.
- Material Handling Library: Fixed: Creation of a new agent
properties of TransporterFleet
block: added Transporter
of available options in the Use
the flowcharts as: property of the
- Material Handling Library: Fixed: Possible bug where the
Modeling Library required to build the model with Material Handling
Library blocks only.
- Material Handling Library: Fixed: Conveyor
that stopped due to blocked
position on another conveyor wasn't restarted after position
- Material Handling Library: Fixed: Possible error when
leave the current conveyor at the speed of the next conveyor.
- Fluid Library: ProcessTank:
fixed error which
could occur when
appending batches while changing the output rate.
- Fluid Library: fixed error: FluidMerge
could generate "null" batch at output.