This sprint answers a series of frequent user requests in addition to continuing work on the API and internal changes which will eventually result in additional new features.
Time Units Display
A Time Units field has been added to the Animation section of the Run ribbon. The value of this is used to set the numeric format and the labeling on both the elapsed time on the status bar and the time values displayed in the trace window.
The Background Color button on the View ribbon allows changing the background color of the entire Facility window floor in both the 2D and 3D views.
A Documentation Report button has been added to the Project Home ribbon. This generates an html report containing a summary of all objects and the non-default data and properties in your model. This is useful for capturing a snapshot of your model for examination or storage outside of Simio.
When objects are changed within a library, you receive the option to adopt or ignore those updates. You will now have the option to select or ignore the update for each individual object. And if you choose to ignore any updates, a Check for Updates button has been added on the Project Home ribbon to allow you to accept that update at a later time.
Finer Event Calendar Control
We have added a new function named Math.Epsilon that returns the smallest positive real value. This can be useful when you want to have a selection or expression that involves a very small value or increment so your logic can discern the difference. We have added new Delay step behavior with a special interpretation of Math.Epsilon to mean “delay by 0.0, but put the entity at the end of the current event list” so it will execute after the end of all other events at the current time (also known as a “late event”). We used the above Delay behavior to fine tune event timing on Nodes. Now, after an entity moves out of a node, the selection of the next item (if there is a choice) is treated as a late event to allow all other entities to move to a position where they are eligible for selection.
We have improved the implementation and documentation of Heading, Pitch, and Acceleration. This allows control of how entities move through free space. See the help topic Entity Routing and Movement for full details.
New file format
Project files can now be saved in a format that is significantly compressed. The new default extension for saving is spfx. New projects will save in this format unless you change the extension to spf (the old format). Existing files will keep their current extension when you click “Save”, so old files will continue to save as spf unless you “Save As” and specify the extension spfx.
An application programming interface (API) is an interface implemented by a software program to enable interaction with other software. Simio has draft API for defining and running experiments and editing table data and retrieving results. It is still incomplete and only lightly documented, but adventuresome souls can get a sneak peek at the evolving API.
Initial Location of Agents/Entities/Transporters
An object created by the InitialNumberInSystem or Create step (CreateType=>‘NewObject’) is now initially located in free-space at the object instance location. An object created by the Create step (CreateType=>’CopyParentObject’ or ‘CopyAssociatedObject’) is now initially located in free-space at the same location as the original object that was copied.
Transfer Step Changes Transfer now allows entity transfers between object locations without the entity using external nodes to enter and exit objects. So, for example, you can immediately transfer an entity from inside object A to a node outside object B using the Transfer step. This is an advanced feature that should be used with caution because this action could conflict with other related actions taking place in an object (such as other tokens from that entity may still be in process). SimBits We added 3 SimBits: EntityStopsOnLink illustrates how to make an entity stop on a link based on an arbitrary condition. OneQueueForMultipleServers shows how to feed multiple servers from a single queue. SortingConveyorSystem illustrates a conveyor that sorts boxes by destination.