ReleaseNotes:Feature Review December 2017

From Planimate Knowledge Base
Jump to navigation Jump to search

This summary covers Planimate enhancements in 2017, over versions 8.87.2 to 9.16.1.

Planimate Version 8 Release

The highly anticipated Planimate 8 was released, the first full release since version 6, featuring a contemporary editing interfaces, profesionally designed and larger icons, a new set of introduction and demonstration models and many increases in performance and under-the-hood improvements. Most of the developments on this page are for 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 translates between Planimate and their dotNET counterparts. The same applies to color values, automatically translating Planimate colour palette indicies and ARGB values as appropriate.

Windows dotNET controls

Managed windows can be embedded in Planimate panels, with support for viewports and anchor layout, just as if they were any other 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 is exposed to c# code. In fact, the interface is virtually identical, whether Planimate is being embedded or is the one embedding a managed class.

Azure/Cloud Interface

A class libray enabling 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 superceeds the ODBC interface.

Editing and Modelling

  • The DescribeFont() routine operation is useful when co-ordinating fonts with plug-in graphs.
  • GetCellXY() gives access to table cell co-ordinates, enabling precise positioning of popups at cells.
  • Tables can be configured to send a broadcast when they exceed a preset size which is useful for writing out logs.
  • Track roads can have running times provided via the item instead of looking up the section running table.
  • Control provided over the Copy options in the table cell context menu.
  • The Debug Dialog can be optionally modeless, enabling panel changes while it is open
  • RealTimeCallback() now supports scoping the callback to a panel.
  • Reading of text files into a text formatted column is supported using the new NoDelimit in l._fileoptions.
  • 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.

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 (eg: after upgrtding) 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 (obsolete).
  • The command line option to write the debug log to a TCP or serial port has been removed.
  • 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 (9.4.0).