Throw Exit

From Planimate Knowledge Base
Jump to navigation Jump to search

Throw Exit

Exit Throw Icon.jpg

This is an advanced and little-used exit mode.

This Exit Mode is only available to exits located within an Application Panel.

This mode works by reading an item system attribute (s.Item Location) that specifies the name of the Object the item is to be ‘thrown’ to.

Objects being thrown to must be included in the _Model Objects list.

Using a Throw Exit

You can distribute items from Application Panels into any other capacity object in your model, provided it has been exported to the _Model Objects List.

This is done by sending the item into an Exit that has had the Place Item into Object option specified in it.

Before sending an Item through this exit you need to supply some details about where it is to be placed.

This is done by setting the Item System Attribute called s.Item Location.

This attribute will be the _Model Objects name of the object the item is to be thrown at.

If there is no object, then an error will occur, so you will want to be sure to set a valid name.

The s.item location reference has to be set in the change object immediately prior to the throw exit, otherwise it is lost.

This is because each new object visited updates this variable - if objects appear between the setting of this attribute in code and the Throw Exit, the setting is updated and thus lost.

Throwing to a Process Delay

If the target object involves some kind of process delay, then you will be likely to want to specify some details about how much longer it is to be within the object before it leaves.

This is done by setting the Item System Attributes called s.Item Total Delay, and s.Item Delay Left. You need to set both of these values before throwing the item, to ensure that the system’s integrity is maintained.

Throwing to a Portal

Some cases will require you to simply place an item in a specific location – usually a portal.

However a portal has no capacity to speak of – other than by way of the objects within it.

Planimate has a default system to support throwing items at portals. You need to place an queue into the portal, and provide it with the default name _!Catch.

(Note that the name is hidden when you create it, due to the exclamation mark ahead of it.)

All items thrown to the portal will land in this Queue, and can proceed from there on their way into the system.

Throwing into to a Rail Network

If the target involves some sort of rail network activity, then you will need to supply even more information - the Route the item is on, and the route step it is currently on.

This requires a fair bit of preparation, making use of table input data, to gain all possible information that will support searching for the correct route involved, establishing the location and the associated route step for the item’s movements, then applying the route and working out the time it has been on the rails, and how far it has to travel (in time) before arriving at the next location on the track.

The item will be very likely to need further configuration to provide it with all the other attributes that give it its unique identity – all of these will either be read, or tupled from tables before it gets thrown.