ReleaseNotes:Feature Review December 2017
This summary covers Planimate enhancements in 2017, over versions 8.87.2 to 9.16.1.
Planimate Version 8 Released
The highly anticipated Planimate 8 was released, the first full release since version 6, featuring contemporary editing interfaces, profesionally designed and larger icons, a new set of introduction and technical demonstration models and many increases in performance and under-the-hood improvements.
Most of the developments on this page pertain to Planimate 9, available to licensed users.
dotNET Integration
Model Editing Interoperability
During model editing, autocomplete is provided for references to managed class properties and methods. From the point of view of a modeller, these class methods and properties become part of the Planimate routine language.
Data interface
Planimate dates and times are automatically translated between Planimate and their dotNET counterparts. The same applies to colour values, automatically translating Planimate colour palette indicies and ARGB values as appropriate. This increases interoperability and streamlines augmenting Planimate code with c#.
dotNET Window Embedding
Managed windows can be embedded in Planimate panels, with support for viewports and anchor layout, just as if they were any other Planimate View or Paint object.
LiveCharts Graph Library Connectivity
A class library enabling LiveCharts graphs to be embedded in Planimate models is functional and continues to be enhanced.
Planimate Embeddable In Other Applications
Planimate remains embeddable in a dotNET application, with extensions to the Planimate-As-A-DLL API that exposes Planimate functionality and data to c# code. In fact, the interface is virtually identical, whether Planimate is being embedded in a dotNET application or is the one embedding a managed class.
Azure/Cloud Interface
A class library enabling Planimate models to push and pull data from the Azure cloud opens up new distributed and real time data sharing capabilities.
MySQL Library
A class library enabling efficient and secure connectivity to MySQL servers in the Azure cloud has been developed. This provides a contemporary alternative to using ODBC.
Editing and Modelling
Routine Operations
- GetCellXY() gives access to table cell co-ordinates, enabling precise positioning of popups at cells.
- The DescribeFont() routine operation is useful when co-ordinating fonts with plug-in graphs.
- RealTimeCallback() now supports scoping the callback to a panel.
- Added new expression functions for working with colours (refer to the expression reference)
- Renamed SetItemTransitTarget and SetItemTransitTime to SetItemLinkTarget and SetItemLinkTime respectively. SetItemLinkTarget can be used to specify both the target and time in one operation.
Tables
- Tables can be configured to send a broadcast when they exceed a preset size which is useful for writing out logs and reducing memory requirements.
- Control has been provided over the Copy options in the table cell context menu.
- You can limit the minimum height of a table row which is useful with cell graphics.
- Table columns have option "Label Exclude Zero Label" to exclude the "not set" label from select dropdownss.
Data
- Model option "Strict Date Import" prevents components of dates that are not visible from being pasted. This is useful with date formats which hide certain date/time fields.
- Reading of text files into a text formatted column is supported using the NoDelimit in the _fileoptions label list.
- New Unit Format "Instance" enables a Portal Attribute to point to a dotNET class instance.
Debugging
- The Debug Dialog can be optionally modeless, enabling panel changes while it is open.
- A more expressive message appears for unexpected platform errors.
Batch Running
- Reduced dependence on runtime libraries, making Planimate compatible with server core versions of Windows.
- Command line option /RANDOMSEEDOFFSET is useful for replicated batch runs.
- /MONITORTARGET and /MONITORINTERVAL command line opitons enable status pings over UDP during a Planimate interactive or batch session.
Misc
- New extended colour palette with predefined roles for buttons and views (supports theming).
- For new models, "Buttons Clickable While Running" is on by default.
- In modeller mode you will see the "pause" context menu even when the "buttons Clickable While Running" model option is selected.
- Track roads can have running times provided via the item instead of looking up the section running table.
- The BackupFolder setting in the platform INI file enables the folder where BAK files are saved to be set.
- Double-clicking the status bar "Status" area (to right of icon) toggles user/modeller mode.
- Panels default to a larger size in new installations (set in Platform/INI file).
- Entries show the name of their broadcast above them if it doesn't match their name.
- Enhanced model time profiling details to assist in model optimisation.
- Many speedups and engine optimisations.
License Key Handling
- License keys are now delivered as a block of text, though KEY files are still supported. Mechanisms for a model to determine a key authorisation level and enable the user to reselect a key file have been provided. This includes enabling an application to be delivered with a time limited key that can subsequently be upgraded by the end user.
- By default Planimate now installs as a single user only application, however searching for keys in an "all user" installation is now supported.
Features Changed, Removed
- Interaction mode has been removed from model editing, you access interaction details through the context menu in Object mode.
- Sending and receiving broadcasts via TCP/UDP has been removed. Such capability can be provided as a DLL when required.
- The /BATCHTIMEOUT command line option has been removed.
- The command line options to write the debug log to a TCP or serial port has been removed. /DEBUGFILE= enables a file to be specified.
- Paint inheritance is no longer supported as modern models use a single UI panel and a roaming viewport. Older models will load but the inherited relationship is lost.
- The RunCommand() routine operation has been enhanced to return process return codes and has new error codes (refer to release notes for 9.4.0).
Cloud Batch Run System
A cloud based batch run system has been implemented, enabling repeated runs of models and scenarios in an efficient and fast to spin up manner. Contact InterDynamics to discuss your batch run needs.