Item

From Planimate Knowledge Base
Jump to navigation Jump to search

Items, Paths and Flows

Item Palette appearing in the Planimate sidebar

Dynamic Entities that enter, move through and exit the system by way of passing from one object to another are called Items. Planimate® organises groups of like Items into classes. They are found in the Item Palette.

A Path is a sequence of steps followed by an Item defining its movement from one object to another. The sequences are defined by the modeller for each item class. Items step from object to object during a simulation and this stepping can be animated. Items in each Class share the same paths through the system.

The collection of paths that are defined for an Item Class is called the Flow. An item entering the model steps from object to object along a path in its flow. A Planimate® model can contain many item classes and items, each item only moving over the flows created for its class.

During a simulation run, many items can move along flows at the same simulated time (shown on the Clock). However at any given point in real time, only one item will ever be moving from object to object.

In simpler models it is useful to animate the movement of items over flows. It visualises the steps that are occuring. In more advanced models, the animation is typically hidden and each item's movement between objects is effectively "instantaneous".

Its important to understand that when an item is moving between objects on a flow, no simulated time passes. If you want time to pass as an item moves between objects, then you will be interested in Spatial Networks.

Path editing is undertaken in Flow Edit View.

Agents

Main article: Agent

Agents are a special type of Item that interacts with some objects in a different way to standard items. Agents play a role as transporter of other items. An agent can pick-up one or more items at a location, and then move them to another location and drop them in the new location.

Item Attributes

Main article: Item Attribute

Item attributes typically give unique qualities to each individual item within a class.

This uniqueness can be used to further refine the details of how that item behaves within the model, even the behaviour of the model itself.

For example, it would be possible to use an attribute to represent the weight of an item and have the weight affect the delays experienced by that item.

Other uses include path assignment (routing information) based upon an attribute representing sub-types of items in a Class.

Class Attributes

Items of a given class can share some attributes. If one item modifies a class attribute, all other items in that class will reflect the change in their corresponding class attribute.

Item Table References

Main article: Item Table References

Item Table References enable an item to carry around a reference to a table in the model. They are useful when sending message items to remote locations where the table is either not in scope or determined by from where the item is coming from.

Item table references are created from the Item Class Edit context menu just like Item Attributes. Once created, they appear in item attribute lists displayed by the expression editor and within the table list of the attribute reference dialog - as long as the object being edited has flows for that item class using it.

Before a reference can be used to access a table, a table has to be associated with it. This is done using the regular routine "Set (=)" operation, eg:

i.itemtablename[] = t.tablename[]

Then i.itemtablename[] ban be used as a regular table reference eg:

i.itemtablename[3][2].

An item table reference can be made "Null" so it points to nothing by using the Clear operation, this will then display as:

i.itemtable[] = CLEAR

In places where the original item table is in scope, an item table reference allows both reading and writing to the table. If the table is not in scope, it is read only. However a mechanism exists to grant write access to an out of scope table. This is achieved using the OutOfScopeWrite operation on the item table reference. This must be performed at a location where the table referenced is still in scope.

During a run, ctrl-clicking on an item shows any item table references and what they are pointing to.

Column labels can be used with item table references. They will be looked up on the fly but cannot be browsed in the editor, you have to enter the name manually since the editor does not know which table an item table reference will be pointing to.

Splitters with the "Transfer Item Attributes" option "on" will also transfer table references. The transfer is name matched and partial transfers are always allowed (the Allow Partial Transfers option is ignored for item table references).

Item Articles


Item Frequently Asked Questions