ReleaseNotes:Planimate 5.00 Release Notes

From Planimate Knowledge Base
Jump to: navigation, search


NEW System attribute "Last Scenario Path" returns full path of data set file accessed


BUGFIX Fixed object property "Capacity" name string (now appears in menu)


NEW: Tuple Increment and decrement routine operations
like tuple set except they increment/decrement the table row with the item values rather than setting it


NEW: Pipe Table Row Mode
A new mode is supported for pipes which is useful when material blending needs to be tracked. This is only supported for pipes with a zero delay (version


) which transfer directly between source and target.
In this mode pipes still transfer between source and target values (with limiting etc operating the same). The values are now cells in tables. Most likely they will be cells in the same column but different rows of the same table (but this is not forced).
Every time a transfer occurs, other columns in the source table will also be transferred, proportional to the amount of the source that was transferred.
For example, the source value can be total tonnes and the other columns can be a breakdown of this total into its components. As the source "flows" to the target value, the components will also proportially accumulate in columns in the target row.
No tuple matching is performed: columns must match if 2 different tables are used for source and target.
To use this feature:

  • ensure the pipe Total Time is 0 (otherwise it doesn't work)
  • select the "Pipe Table Row Mode" option for the pipe
  • set up the source and target references as table cells (preferably to the same column but different rows in the same table)
  • The pipe context menu will include new menu items to select "Additional Data Column Start" and "Additional Data Column End" so the modeller can specify the range of columns that the pipe will transfer in addition to the source/target.

They defaults to column 2, assuming the primary source/targets are in column one.
If this column range overlaps either the source or target columns then those columns get skipped to avoid "double transferring".
Note that the cells referenced can be changed on-the-fly but the modeller needs to plan this extremely carefully!
BUGFIX: Co-ordinate handling code fixed so hovering over an RTF/non click through viewport no longer sends wrong hover co-ordinates to the main window


BUGFIX: forgot to bump the file version number; models created in U wont read in earlier versions
BUGFIX: Spatial Links with the optional Pipe View options could not handle stopping/starting the pipe animation if there no items moving on the spatial link (ie: the link was stopped).
I've changed it to read the "pipe control" attref every display update interval. However this means that the "pipe control" attref cannot reference an item (which it most likely would not have).
Pipe activity colour and section colour *can* continue to reference item attributes as they are computed as each item crosses a pipe "bin" boundary.
NEW: Object Attribute attref "Capacity"
Can be used to read the capacity for:
Track Loops: (returns # of roads in addition to main line) Queue returns maximum length Dispatcher returns maximum length Multiserver returns last capacity multiserver tested against
Can be used to set the capacity for:
Track Loops: Sets # of roads (see below)
NEW: Track Loop "Capacity" changes:
As described above, the # of roads of a loop can be read and set as its "Capacity" object attribute.
The value set here overrides the capacity set up during edit and is NOT retained after the run stops. (This may change in the future).
Currently loops use an Attribute Reference to determine their capacity on-the-fly. I want to phase this out as its inefficient having to resolve an attref for something that doesn't change very often.
Existing models that use say a table cell lookup to read a loop's capacity must be re-coded to set the loop's capacity using the Capacity object attribute instead.
A future version of PL will ignore the attref for the loop's capacity UNLESS it is a constant. If its not a constant, a default of "1" will be used for the loop's capacity when the model is read with the future version of Planimate.

BUGFIX: Pausing during 0 time graphical loop and advance to time dialog visible (developer mode only)
Zero time graphical loops could not be interrupted during advance to time. I've changed it so:
It now works like this:
The first attempt to <ESC> or close the advance to time dialog sets the "paused" flag as it used to.
If the model doesn't then pause and you press <ESC>/close the advance to time dialog again, then PL displays the pause menu, enabling you to either change the debugging options (useful to enable "allow pause at same time events") or to forcibly stop the run.
CHANGE:Have reduced poll-check interval for PL in advance-to-time from 500 to 5000 events (as CPUs get faster, more events can be processed per second and we want to poll less often during advance-to-time).
Have changed "iterate check interval" from 50000 iterations to 100000.
These should improve performance during advance to time but not impact pauseability on modern cpu


NEW: "Reallocate Table Rows" routine operation (table) Allocates memory for the table so it will fit the number of rows specified. This is useful when you know how big a table is going to grow and can be quite important when there are more than 8000 or so rows and many columns.
If the table's allocated memory has already grown past the number of rows specified here, this operation is ignored.


Experimenting with window transparency
It gets specified as a value from 1..255, 255 = opaque and turns off the transparency mechanism for that window (saves resources).
It only works under Win2K and WinXP. On older systems, it is ignored.
NEW: Transparency of the clock can be set by clicking on it
NEW: Transparency of a panel when it gets popped up can be set in a routine operation (display). It can also be set as a panel property. This only works for popup windows and not child windows.
NEW: Transparency of main window when Planimate is active and inactive can be set in the INI file
[Display] ActiveTransparency=254 InActiveTransparency=180
Note that with transparency "on", animation will be jumpy. I haven't found the mechanism to change the transparency update interval yet.
Also there is a flicker when transitioning an open window from no transparency (255) to some degree of transparency so you may want to use "254" instead of "255" for close to no transparency.


NEW: Pipe enhancement: 0 delay pipe
If a pipe is set with a "Total Time" of 0, it now opeartes in a new mode where it transfers directly between the source and target attributes without using any intermediate bins.
This mode eliminates issues of "run off" and existing "stuff" in the pipe. The pipe will still animate (as a single logical bin representing the quantity being tranferred every sampling interval).
0 delay pipes support the reversing and limiting capabilities of delay pipes and are more efficient processing-wise.
NEW: Pipe enhancement: source and target limiting
A new option on pipes enables "Source/Target Limits". This enables limits to be placed at the source and target ends of the pipe.
The lower limit can be used to prevent the pipe draining its source below a specified value. This is useful in situations where the source cannot be completely drained by the pipe.
The upper limit can be used to prevent the pipe overfilling the target. When this limit is reached, the pipe effectively becomes "blocked" and stops "flowing". The block applies to the whole pipe (no packing of pipe contents occurs).
These limits work in addiiton to the Load Limiting function.
The limit values are re-read every pipe update iteraction.


BUGFIX: Attref editor now knows owning object so it can browse item attributes through the Add button (useful for switches)
NEW /jobid="xxx" command line option.
This sets the "jobid" field in XML packets sent by PL and is useful when determining where an XML packet has come from.
Currently PL does not read this field; its useful when an external server is co-ordinating PL runs.
BUGFIX: Resizing panels now properly updates loops and bend points
BUGFIX: Selection regions include bends and loops (they cannot be deleted or copied in a multiple selection)


CHANGE: Table key-to-edit now responds to '$' and '.'
NEW: Planimate will now save model backup files into a subfolder called "Backups" if that folder exists within the folder where the current model is being saved
BUGFIX: Reworked PL engine simulation engine state to prevent track system errors and subsequent crashes as the model engine shuts down
NEW The row used by a cell stat can now be dynamic
The row is determined when the panel containing the cell view is shown. Hence cell views with dynamic rows values should not be logged.
REWORK Fixed a few cell stat bugs which would have caused memory corruption if tables had less columns than the cell stat was set up for. Had to add lots of new validation to support dynamic rows.
NEW Run Engine System Attribute to control fine timer tick option on/off
NEW Paint buttons have new option to cause hover broadcast to be sent globally (to whole model) rather than to the scope of the button.
BUGFIX Z-order fix for shared routine name dialog
NEW OK/Cancel buttons in attribute editor
So now if you [x] an attribute dialog, you are cancelling it not closing it.
NOTE Cancel only useful for "Cancelling" a change to the name/value or checkboxes; if you change the units then the fields are commited and cancel wont revert to whatever the attribute definition was previously set to.


BUGFIX: Test for model version broken in O when clearing the new hide about box bit


NEW: "Hide About Box" option in Settings->End User
Enables the about box to be hidden in standalone EXEs (PBAs)
This option will only be available to internal ID developers who have been issued a new "never expires" developer keyfile.


NEW: PL now looks for a "Section Type" column in the track table specified in Network Details.
If this column is found, PL uses it to read/set the track network section types.
The column should be formatted using the "_section type" label list.
When the run starts, PL will treat the column as follows:
If the value is "-" then PL will read the section type from the track network. This should be default value for the column in order that existing networks are properly set up in the table.
If the value is not "-" then PL will ensure the section is changed to the value in the table when the run is started.

CHANGE: Section table window now bigger. Section table now includes section type to assist with debugging.
NEW: Section Type label list - used for specifying section types
FIX: Batch mode no longer shows clock Also does not perform event polling (testing for pause) which could lead to bogus popups
NEW: Multiple backups of models kept
Planimate now keeps multiple BAK versions of a model. This may be useful with the autosave feature.
The most recent backup is the ".BAK" file, then older versions will ripple through .BAK.1, .BAK.2 ... up to the number of backup files specified in the INI file SaveBackupCount value (default is 10)
If SaveBackupCount is 1, you only get one ".BAK" file (like before)
INI File setting:
[Edit] SaveBackupCount=nnn
nnn is the # of backups to keep when saving the model default=10 value range:1..999
NEW: AutoSave for models
Automatically saves the model if a given number of minutes has passed since the model was modified.
AutoSave currently only occur when:

  • the run is started (in editor mode)
  • toggling to "User Mode" from "Editor Mode"

Auto saves do not occur if in user mode.
Autosave is off by default, it can be enabled from the INI file
[Edit] section:

  1. of minutes between autosaves of the model during editing, 0 = disable default=0 value range:0..600


FIX Have reworked the way PL determines the "Application Data" folder in order to avoid users of NT being forced to install Internet Explorer.


FIX Fixes a crash on exit if help was open and the target PC uses a Pentium 4 with hyperthreading or multiple processors.


NEW help buttons for change object icon/route and odbc dialogs
CHANGE Attref Separator option is now on for new models


FIX: Save/Save As shortcut label in menubar
CHANGE: "Remove Button" renamed to "Remove Button Action" for paint buttons
CHANGE: Default posn of portal exit now close to portal entry
BUGFIX: Paint button Hover broadcast properly deallocated when button deleted
NEW: Free text cells get written to the clipboard as text (not hex) with newlines and tabs within converted to spaces.
FIX: Toggling smooth/stepped dragging with key now updates menu bar


NEW: Launch Log Viewer option in Tools Menu
Launches: "Planimate Log Viewer PBA.EXE"
NEW: Option for file read/write at change object
"Remain in directory of chosen file"
Causes PL to not return to the default directory when a browser is used in a change object to select a file.
This option only takes affect for PBAs (standalone EXEs) to prevent PL losing track of where the model being edited and its DBs are.


FIX: Help topmost fix, msgs on failed help load


NEW Routine operation (Table) "Set Cell Text"
Use this to copy "Free Text" between table cells. Source and target must be table cell references, both in columns formatted for free text.
You need to force repaint to reflect changes in free text formatted cells on any currently visible table.
NEW Button paint objects have resize to text/image option
NEW Button command click action for "About"
NEW New table view option not to show the current cell
NEW Portal tool tips (set from portal edit menu)
NEW Tables can have a font specified for data on a column by column basis, using the column "Cell Font" option.
The font selected here overrides the Default Table Cell Font (if set) and is overridden by the cell specific fonts
The "Cell Font" option in the Table menu is renamed to "Default Cell Font"
NOTE that the Default Cell Font is used in sizing cells for the table view so it should be set for the "largest" font if you then override the fonts for each column, so the cells will be big enough


FIX: Table saves row height value
FIX: Path editor doesn't allow a step to be repeated between paths. Also tool tip generator and flow line preview reflect this rule
FIX: Show on load note (must be called main) now actually shows
NEW: Spatial link routine operation to set the link cost of a spatial link requires spatial link cache flush operation


NEW: Seetings Menu option "Edit INI File" opens the platform ini file
NEW: Triple track section types (testing) Train movement between portals seems OK Section control table building should be in place
Now with working section control for third track
CHANGE: Removed scroll wheel handling (without driver) for the time being
BUGFIX: help ids for get integer dialogs - default help button for id 0 no longer shown
NEW: New routine file option "Allow Empty Cells" enables the column option "Dont Show Zeros" to take effect for tables written to a file. (normally all values are written out).
BUGFIX: Object positioning when creating objects dynamically was out by 1 pixel due to different ways of getting middle pixel of even # of pixel icons - now more consistent.
CHANGE: Table cell editing changed so a click outside a cell area does not trigger a cell edit


NEW: New row option "Row Height" sets the row height in lines (found under table editor row menu)
NEW: Cell text will now wrap to the number of rows (specified by row height). Long text will be truncated (similar to long column names)
CHANGE: Table columns formatted for "Free Text" are now written to DAT and DataSet files.
Free text cells are written to the file as a single (potentially large) hex cell.
which looks something like this:
Before the colon is the byte count, followed by hex character pairs for every ascii character. Last one is always "00".

      • NOTE***

This will affect reading existing DAT/DataSet files IF the tables they are read to contain any columns formatted for free text. (they will fail to read). They would have probably failed anyway if the user had entered quotes, new lines or tabs in the free text.


NEW: Spatial links have a new option "Link Cost"
This enables the modeller to set the "distance" of the link directly (default 0 uses screen distance).
This is useful where you have a short link connecting nodes but you dont want items to take that link as a "short cut" unless you specifically nominate an object on that link as a target.


BUGFIX: Fixed the issue of the sidebar area being reserved when a model changes from user mode to editor mode even when the sidebar may be hidden.
BUGFIX: Fixed context links for dialogs that read integers
BUGFIX: Double quotes in fields converted to ' (if you paste one in)
BUGFIX IDKBase Updates menu no longer gets updated by idKBase while the mouse is down
NEW: Added option to display cell borders on a grid view
NEW: New context help links in various dialogs
NEW: Added support for mousewheel scrolling of panels for machines win95 and above
NEW Time Format: "C time" DAY MON DD HH:MM:SS YYYY as C standard libraries write

BUGFIX: Routine step editor was re-enabling closing of routine list while editing an attribute reference
BUGFIX Positioning of portal entry/exit now checks subsystem panel Pentry always at top left, Pexit at bottom right.
NEW: IDClient.xml can be placed in the Planimate application data folder and it will be found
NEW: IDCLIENT.xml can contain a new parameter "auto" which if set to 1, causes an automatic login the first time idKBase is accessed. Subsequent attempts to open will show the login dialog.
to use this, edit idclient.xml as follows:

port="8118" auto="1" name="....


NEW: Added more context ids/help buttons for Data menu windows
BUGFIX: CTRL-I and <TAB> key are now distinguished in RTF editor (idBase)
NEW: Can send an immediate message from a loop entry/exit routine
CHANGE: IDBase references changed to IDKBase to distinguish the knowledge base from the IDBase file area.
CHANGE: INI file IDBaseMenu is now IDKBaseMenu. If you had set it to 1, you need to set it again for this release.
NEW: 3 Way help system
Clicking a context help button shows help from local help file
CTRL-clicking a context help button shows help using the new IDKBase web site. This opens the default system web browser and should work through firewalls if normal web access is permitted.
CTRL-SHIFT-clicking a context help button uses the IDKBase client to connect to the database (enables editing - requires IDKBase account)
A new [Help] Section in the INI file contains an option HelpIDKBaseEnable = 0 by default. If you set this to 1, then the actions of the CTRL-click and CTRL-SHIFT-click are reversed (ie: CTRL-click uses IDKBase to edit note, CTRL-SHIFT-click opens web site).
NEW: [Help] section in INI file contains a string HelpWebSite="...." The default site is the InterDynamics help web set. This should not be changed unless you have arranged a proxy site to deliver Planimate help to you.

idkbase note 314