Routine Operations
This page lists all of the routine operations available in Planimate as of 5.09m. The operations all link to pages with their name but most of these pages will not exist. Where an operation warrants further discussion, these links can be followed and the pages created.
This page is automatically created. Please do not edit it.
Arithmetic
Add ( + )
Add two values/rows/columns/tables
$R = $1 + $2 $R = Result $1 = Value 1 $2 = Value 2
Clear
Set the target value to its initialising value
$R = CLEAR $R = Clear
Dec ( -= )
Decrement first value/row/column/table by second value
$R -= $1 $R = Result $1 = Decr. by
Div ( / )
Divide values/rows/columns/tables
$R = $1 / $2 $R = Result $1 = Value 1 $2 = Value 2
Inc ( += )
Increment first value/row/column/table by second value
$R += $1 $R = Result $1 = Incr. by
InterpolateValue
Interpolates a value between value1 and value2 based on ratio (0.0 gives value1, 1.0 gives value2)
$R = InterpolateValue($1,$2,$3) $R = Result $1 = Value1 $2 = Value2 $3 = Ratio
Mul ( * )
Multiply values/rows/columns/tables
$R = $1 * $2 $R = Result $1 = Value 1 $2 = Value 2
Scale ( *= )
Scale first value/row/column/table by second value
$R *= $1 $R = Result $1 = Scale by
Set ( = )
Assign a value/row/column/table to another of the same type and size
$R = $1 $R = Result $1 = Set To
Sub ( - )
Subtract two values/rows/columns/tables
$R = $1 - $2 $R = Result $1 = Value 1 $2 = Value 2
Control
BREAKLOOP
Immediately exits an ITERATE loop
BREAKLOOP
CASE
Tests a condition and if true, executes the code following until another CASE or DEFAULT is reached
CASE ($F) $F = CASE
DEFAULT
Marks code that should be executed if no CASES match in a SELECT block
DEFAULT
ELSE
Enables an alternate block of code to execute if an IF test fails to be true
ELSE
ENDIF
Marks the end of an IF block
ENDIF
ENDLOOP
Marks the end of an ITERATE block
ENDLOOP
ENDSELECT
Marks the end of a SELECT block
ENDSELECT
ENDWHILE
Marks the end of a WHILE block
ENDWHILE
IF
Executes lines following only if the condition is true
IF ($F) $F = IF
ITERATE
Repeats a block of routine lines, incrementing an attribute over a range
ITERATE $R FROM $1 TO $2 $R = Index Using $1 = First Value $2 = Last Value
ITERATEROWS
Iterate Row Index over all the rows in the table
ITERATEROWS $R OVER $1 $R = Row Index $1 = Table
REVERSEITERATE
Iterate the result attribute over the given range in descending order
REVERSEITERATE $R FROM $1 TO $2 $R = Index Using $1 = First Value $2 = Last Value
SELECT
Starts a block where CASEs can be used to execute different code for conditions tested
SELECT
WHILE
Repeats a block of lines until the condition is false; the condition is tested first
WHILE ($F) $F = WHILE
Display
Animate
Animate a model object to a new screen position
Animate($1,$2,$3) $1 = Object $2 = X Pos $3 = Y Pos
ChooseColor
Shows the color palette selector dialog
$R = ChooseColor($1) $R = Result $1 = Selection Color
ColorPaletteEntry
Returns the RGB color for a given color index in the Planimate color palette
$R = ColorPaletteEntry($1) $R = Result $1 = Palette Index
FitPanelToArea
Fits the panel to the area of its contents with a margin
FitPanelToArea($1,$2) $1 = Target Panel $2 = Margin
ForceRepaint
Repaints all windows; use with care, it can cause slowdown
ForceRepaint
ForceRepaintPanel
Repaints the specified panel
ForceRepaintPanel($1) $1 = Panel
GetSystemColorRGB
Returns the RGB color for a given color in the Windows system color palette
$R = GetSystemColorRGB($1) $R = Result $1 = Value
GraphXOffset
Read the offset of a graph view for a table on the given panel
$R = GraphXOffset($1,$2) $R = Target $1 = Table $2 = Panel
GraphXWidth
Read the width of a graph view for a table on the given panel
$R = GraphXWidth($1,$2) $R = Target $1 = Table $2 = Panel
HidePanel
Hides any popup for the given panel
HidePanel($1) $1 = Target Panel
HideTableEditor
Close any open table editor for the given table
HideTableEditor($1) $1 = Table
MakeVisible
Makes the specified panel the active panel on the main window
MakeVisible($1) $1 = Target Subsystem
PanelWindowLeft
Returns the left window co-ordinate of a popup panel
$R = PanelWindowLeft($1) $R = Result $1 = Panel
PanelWindowTop
Returns the top window co-ordinate of a popup panel
$R = PanelWindowTop($1) $R = Result $1 = Panel
PrintPanel
Queues the nominated panel for printing; additional panels can be printed by intercepting the _Panel Printed broadcast
PrintPanel($1) $1 = Target Subsystem
RepaintObjects
Forces a repaint of dynamic objects only; faster than a full force repaint
RepaintObjects
SetActivityString
Sets text in the status bar activity area
SetActivityString($1) $1 = Activity Text
SetColorPaletteEntry
Sets the RGB color for a given color in the Planimate color palette
SetColorPaletteEntry($1,$2) $1 = Palette Index $2 = RGB Value
SetGraphXOffset
Set the offset of a graph view for a table on the given panel
SetGraphXOffset($1,$2,$3) $1 = Table $2 = Panel $3 = Value
SetGraphXWidth
Set the width of a graph view for a table on the given panel
SetGraphXWidth($1,$2,$3) $1 = Table $2 = Panel $3 = Value
SetPanelColor
Sets the background color of a panel
SetPanelColor($1,$2) $1 = Panel $2 = Color
SetPanelTransparency
Enables the use of transparency for a panel, value 0..254 or 255 to disable transparency
SetPanelTransparency($1,$2) $1 = Panel $2 = Transparency
SetStatusItemAreaString
Sets the text in the status bar area where item class names are displayed during editing
SetStatusItemAreaString($1) $1 = Item Area Text
SetViewportScroll
Set the x and y scroll of a viewport on a given panel
SetViewportScroll($R,$1,$2,$3) $R = Panel With Viewport $1 = Panel Inside Viewport $2 = X Offset $3 = Y Offset
SetViewportTarget
Set the target of a viewport. Current Panel identifies the viewport and can be zero of the containing panel only has 1 viewport. New Panel sets the new panel to display, 0 makes the viewport hidden in user mode.
SetViewportTarget($1,$2,$3) $1 = Panel With Viewport $2 = Current Panel Inside Viewport $3 = New Panel Inside Viewport
SetViewportZoom
Set the zoom factor of a viewport on a given panel
SetViewportZoom($R,$1,$2) $R = Panel With Viewport $1 = Panel Inside Viewport $2 = Zoom Value
ShowPopupPanel
Opens the given panel in a separate window at the specified window co-ordinates
ShowPopupPanel($1,$2,$3) $1 = Target Panel $2 = X Position $3 = Y Position
ShowTableEditor
Open table editor for the given table
ShowTableEditor($1) $1 = Table
SwapPopupPanel
Swaps which panels are visible in a popup panel without closing/reopening it
SwapPopupPanel($1,$2) $1 = Target Panel $2 = Replace With
Label
AddLabelDialog
Show a dialog so the user can add a label to the given label list
AddLabelDialog($R) $R = Result
AddSubLabel
Makes the new sublabel for the parent label $1 (if it doesn't exist) and returns its index as a sublabel
AddSubLabel($R,$1) $R = Result $1 = Label
ClearLabelList
Removes all labels from a label list
ClearLabelList($1) $1 = Clear Label List
CreateLabelList
Creates a label list with the given name and formats the result attribute to reference it
CreateLabelList($R,$1) $R = Format Result $1 = List Name
CreateLabelListFromCol
Uses the provided column to provide text for creating a new label list
CreateLabelListFromColumn($R,$1) $R = Target List $1 = Source Column
CreatePanelPortalLabel
Creates a panel label for the subsystem of the given portal object label
$R = CreatePanelPortalLabel($1) $R = New Panel Label $1 = Portal Object Label
CreateSubLabelList
Creates an empty sub label list of an existing label list and formats an attribute to reference it
CreateSubLabelList($R,$1,$2) $R = Format Result $1 = List Name $2 = Parent List
CreateSubsystemObjectLabel
$R = CreateSubsystemObjectLabel() $R = New Object Label
DeleteLabel
Deletes the given label from its labellist
DeleteLabel($1) $1 = Label
LabelCount
Returns how many labels in the given label list
$R = LabelCount($1) $R = Result $1 = Label Count
MaxLabelIndex
Returns the highest allocated label index in the given label list
$R = MaxLabelIndex() $R = Result
MinLabelIndex
Returns the lowest allocated label index in the given label list
$R = MinLabelIndex() $R = Result
NextLabelIndex
The next allocated label index for the list or -1 if none
$R = NextLabelIndex($1) $R = Result $1 = Label Index
PrevLabelIndex
The previous allocated label index for the list or -1 if none
$R = PrevLabelIndex($1) $R = Result $1 = Label Index
ReIndexLabelList
Re-indexes all members in a label list so they have ascending and continuous index values
ReIndexLabelList($1) $1 = Re-index Label List
ReIndexLabels
Remaps labels in the given list using 2 columns of matching from and to values
ReIndexLabels($1,$2,$3) $1 = Re-index List $2 = From Values (Col) $3 = To Values (Col)
RemoveSubLabel
Removes the sublabel as a member of the sublabel list
RemoveSubLabel($1) $1 = Label
TestLabelIndex
Tests whether an index has been used in a label list
$R = TestLabelIndex($1,$2) $R = Result $1 = Index Value $2 = Label List
Label String
AppendToLabel
Append text to an existing label
AppendToLabel($R,$1) $R = Result $1 = Source
CreatePasswordHash
Uses the 3 text sources to create an unpredictable hash string
$R = CreatePasswordHash($1,$2,$3) $R = Result $1 = Text-1 $2 = Text-2 $3 = Text-3
CropToCharacters
Crop a label to a subset of its text
CropToCharacters($R,$1,$2) $R = Result $1 = From Char $2 = To Char
ExtractFileExtention
Create a label in the target label list which is the file extention of the path/file text
ExtractFileExtention($R,$1) $R = Result $1 = Path/File
ExtractFileName
Create a label in the target label list which is the file name from a full path/file text
ExtractFileName($R,$1) $R = Result $1 = Path/File
ExtractIntoFormat
Extracts a substring from a formatted value/label and interprets it in the format of the target. If the target is a label list, it gets added as a label if its not already in that list.
$R = ExtractIntoFormat($1,$2,$3) $R = Result $1 = Label $2 = From Char $3 = To Char
ExtractPathName
Create a label in the target label list which is the file name from a full path/file text
ExtractPathName($R,$1) $R = Result $1 = Path/File
FilesInFolder
Returns how many files matching a wildcard in the given folder
$R = FilesInFolder($1) $R = Target List $1 = Path/File
FilesInHierarchy
Retrieve how many files in a file folder (including subfolders)
$R = FilesInHierarchy($1) $R = Target List $1 = Path/File
FormatIntoLabel
Create a new label with the formatted text of the source
FormatIntoLabel($R,$1) $R = Result $1 = Source
FormatIntoLabelIndex
Creates a label from the text of source and using the provided index
$R = FormatIntoLabelIndex($1,$2) $R = Result $1 = Source $2 = Index
FormatNameIntoLabel
Creates a label from the name of the given object
$R = FormatNameIntoLabel($1) $R = Result $1 = Source
FormattedLabelIndex
Determines if the source text is a label and returns its index if it is
$R = FormattedLabelIndex($1) $R = Result $1 = Source
FormattedWidth
Returns how many characters the referenced data has when it is formatted for display
$R = FormattedWidth($1) $R = Target $1 = Width Of
FormatTitleIntoLabel
Creates a label from the title text of the given object
$R = FormatTitleIntoLabel($1) $R = Result $1 = Source
GetAppDataName
Get a full documents and settings/Application Data path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.
$R = GetAppDataName($1,$2) $R = Result $1 = Folder $2 = Filename
GetCharacter
Extracts a character from the formatted value provided and returns the ascii code
$R = GetCharacter($1,$2) $R = Target $1 = String $2 = Character
GetMyDocumentsName
Get a full My Documents path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.
$R = GetMyDocumentsName($1,$2) $R = Result $1 = Folder $2 = Filename
GetProgramName
Get the folder containing the running Planimate EXE and append a filename. Sets s.LastAccessedDataFilePath.
GetProgramName($1) $1 = Filename
RemoveFileExtention
Crop label to remove trailing dot and text
RemoveFileExtention($R) $R = Result
RenameLabel
Change the text of a label
RenameLabel($R,$1) $R = Result $1 = Source
SetFreeTextTitle
Sets title of free text editor dialog
SetFreeTextTitle($1) $1 = Title Text
Logical
BitAND
Treat values as integers and bitwise AND them (limited to 14 bits of precision)
$R = BitAND($1,$2) $R = Result $1 = Value 1 $2 = Value 2
BitOR
Treat values as integers and bitwise OR them (limited to 14 bits of precision)
$R = BitOR($1,$2) $R = Result $1 = Value 1 $2 = Value 2
BitXOR
Treat values as integers and bitwise XORs them (limited to 14 bits of precision)
$R = BitXOR($1,$2) $R = Result $1 = Value 1 $2 = Value 2
Condition
Evaluate a condition specified in a dialog
$R = Condition($F) $R = Result $F = Set using
EQ ( == )
Determines if 2 values are numerically close to each other
$R = $1 == $2 $R = Result $1 = Value 1 $2 = Value 2
GE ( >= )
Determines if the first value is greater than or equal to the second
$R = $1 >= $2 $R = Result $1 = Value 1 $2 = Value 2
GT ( > )
Determines if the first value is significantly greater than the second value
$R = $1 > $2 $R = Result $1 = Value 1 $2 = Value 2
LE ( <= )
Determines if the first value is less than or equal to the second
$R = $1 <= $2 $R = Result $1 = Value 1 $2 = Value 2
LT ( < )
Determines if the first value is significantly less than the second value
$R = $1 < $2 $R = Result $1 = Value 1 $2 = Value 2
NEQ ( != )
Determines if 2 values are not numerically close to each otherclose to each other
$R = $1 != $2 $R = Result $1 = Value 1 $2 = Value 2
Message
Broadcast
Sends a broadcast to the entire model, optionally including the item's attributes
Broadcast($1,$2) $1 = Broadcast Index $2 = With Item Info
BroadcastScoped
Sends a broadcast to a specified dynamic panel and all under it, optionally including the item's attributes
BroadcastScoped($1,$2,$3) $1 = Broadcast Index $2 = With Item Info $3 = Send To Subsystem
BroadcastToPanel
Sends a broadcast to a specified dynamic panel, optionally including the item's attributes
BroadcastToPanel($1,$2,$3) $1 = Broadcast Index $2 = With Item Info $3 = Send To Subsystem
ImmediateMessage
Send a message whilst the item waits at the change object
ImmediateMessage($1) $1 = Message Target
ImmediateMessageNamed
Send a message to a specified portal with a specific name whilst the item waits at the change object
ImmediateMessageNamed($1,$2) $1 = Message Target $2 = Message Name
ReleaseWaitingItem
Used to signal a waiting dispatcher on the target panel that a given item should be released
$R = ReleaseWaitingItem($1,$2) $R = Result $1 = Item Index $2 = Scope Panel
ReverseItemDirection
Searches spatial links for the item and if found, reverses the direction of the item
$R = ReverseItemDirection($1,$2) $R = Result $1 = Item Index $2 = Scope Panel
Numeric
abs
Magnitude of a value, without the sign
$R = abs($1) $R = Result $1 = Value 1
max
Determines the greater of 2 values
$R = max($1,$2) $R = Result $1 = Value 1 $2 = Value 2
min
Determines the lesser of 2 values
$R = min($1,$2) $R = Result $1 = Value 1 $2 = Value 2
mod
Modulus of $1 over base $2
$R = mod($1,$2) $R = Result $1 = Value 1 $2 = Value 2
random
Random value between 0 and 1
$R = random($F) $R = Result $F = Set to
round
Integer closest to the value
$R = round($1) $R = Result $1 = Round Value
RoundToN
Round value to the specified number of digits of precision
$R = RoundToN($1,$2) $R = Result $1 = Round Value $2 = Sig. Digits
trunc
Integer equal or lower than the value
$R = trunc($1) $R = Result $1 = Truncate
Paint
CopyPaintObject
Enables a paint object to be copied, optionally keeping it inherited from the given master
$R = CopyPaintObject($1,$2,$3) $R = New Paint Label $1 = Original Paint Label $2 = Destination Panel $3 = Inherit The Copy
CopyPaintProperties
Copies the graphical properties between paint objects
CopyPaintProperties($1,$2) $1 = Paint Object To Update $2 = Original Paint Object
DeleteAllPaintObjects
Delete all paint objects on the given panel
DeleteAllPaintObject($1) $1 = Target Panel
DeleteInheritedPaintObjects
Removes all paint objects which inherit from a given panel
DeleteInheritedPaintObjects($1,$2) $1 = Target Pane $2 = Un Inherit Panel
DeletePaintObject
Deletes a paint object
DeletePaintObject($1,$2) $1 = Paint Label $2 = With Inherited
GetPaintProperty
Read a property of a paint object
$R = GetPaintProperty($1,$2) $R = Result $1 = Paint Object Label $2 = Property Label
InheritPaintObjects
Enables a panel to be populated with paint objects from another panel
InheritPaintObjects($1,$2) $1 = Target Panel $2 = Inherit From Panel
InterpolateColor
Interpolates an RGB color between color1 and color2 based on ratio (0.0 gives color1, 1.0 gives color2)
$R = InterpolateColor($1,$2,$3) $R = Result $1 = Color1 $2 = Color2 $3 = Ratio
SetNoteVisible
Shows or hides an RTF note
SetNoteVisible($1,$2) $1 = Paint Object Label $2 = Visibility
SetPaintImage
Sets the image of a paint object
SetPaintImage($1,$2) $1 = Paint Object Label $2 = Set Image To
SetPaintPosition
Moves a paint object to a new position
SetPaintPosition($1,$2,$3) $1 = Paint Object Label $2 = X Pos (lower left) $3 = Y Pos (lower left)
SetPaintProperty
Set a property of a paint object directly
SetPaintProperty($1,$2,$3) $1 = Paint Object Label $2 = Property Label $3 = Property Value
SetPaintText
Sets the text of a paint object
SetPaintText($1,$2,$3) $1 = Paint Object Label $2 = Set Text/File To $3 = For All States
SetPaintTip
Sets the tool tip text of a paint object
SetPaintTip($1,$2,$3) $1 = Paint Object Label $2 = Set Tip To $3 = For All States
Route
AssignRoute
Sets an item's track route from a route table
AssignRoute($1) $1 = Timetable Source
ClearRoute
Clear an item's routing database
ClearRoute()
EnableTrackCheckNext
Used during lookahead, this enables a modeller to signal objects downstream of a lookahead that the current lookahead is for track capacity purposes and wont be taken immediately. It automatically resets when lookahead unwinds behind the routine.
EnableTrackCheckNext()
FillRouteSteps
Fills in all intermediate portals and loops in an item's track route
FillRouteSteps($1) $1 = Include Loops (1=yes)
InsertRouteStep
Insert a track route step into an item's internal routing database
InsertRouteStep($1,$2) $1 = Route Step $2 = Route Location
ReadRoute
Reads an item's track route into a table
ReadRoute($R) $R = Timetable Target
RegisterBlockedTrain
Register the item (train) into the track blocked list
RegisterBlockedTrain()
RoadsInTrackSection
Returns how many roads a given track section has been configured for
$R = RoadsInTrackSection($1) $R = Target $1 = Section
SetActAsJunction
Enables the Act As Junction flag to be set or cleared for a given portal on a track network
SetActAsJunction($1,$2) $1 = Portal On Track $2 = Act As Junction
SetOncomingCheck
Enables the Oncoming Train Check flag to be set or cleared for a given portal on a track network
SetOncomingCheck($1,$2) $1 = Portal On Track $2 = Oncoming Check
TrackSectionType
Returns the type of a track section (_section_types label list)
$R = TrackSectionType($1) $R = Target $1 = Section
UnblockTrain
Attempt unblock of specific train id or all blocked trains if id is 0
UnblockTrain($1) $1 Item ID
Row/Column
Average
Determines the average of values in a row or column
$R = Average($1,$2,$3) $R = Result $1 = Average of $2 = From $3 = To
MaxIndex
Determines the index of the highest value in a row or column
$R = MaxIndex($1,$2,$3) $R = Result $1 = Max of $2 = From $3 = To
MinIndex
Determines the index of the lowest value in a row or column
$R = MinIndex($1,$2,$3) $R = Result $1 = Min of $2 = From $3 = To
StdDev
Determines the Standard Deviation of values in a row or column
$R = StdDev($1,$2,$3) $R = Result $1 = StdDev of $2 = From $3 = To
Sum
Determines the sum of values in a row or column
$R = Sum($1,$2,$3) $R = Result $1 = Sum of $2 = From $3 = To
SumSquared
Determines the sum of squares of values in a row or column
$R = SumSquared($1,$2,$3) $R = Result $1 = Sum/Sqr of $2 = From $3 = To
Scientific
arccos
Inverse cosine function, returns radians
$R = arccos($1) $R = Result $1 = Value
arcsin
Inverse sine function, returns radians
$R = arcsin($1) $R = Result $1 = Value
arctan
Inverse tan function, returns radians
$R = arctan($1) $R = Result $1 = Value
atan2
Determines angle (in radians) given x and y displacement
$R = atan2($1,$2) $R = Result $1 = Numerator (Y) $2 = Denominator (X)
cos
Cosine function, value in radians
$R = cos($1) $R = Result $1 = Value
DegToRad
Converts degrees to radians
$R = DegToRad($1) $R = Result $1 = Value
exp
Calculates $1 to the power of E
$R = exp($1) $R = Result $1 = Value
hypot
Hypotenuse of right angled triangle with given sides
$R = hypot($1,$2) $R = Result $1 = X Value $2 = Y Value
log10
Calculates the decimal logarithm of the value
$R = log10($1) $R = Result $1 = Value
logN
Calculates the natural logarithm of the value
$R = logN($1) $R = Result $1 = Value
pow
Calculates $1 to the power of $2
$R = pow($1,$2) $R = Result $1 = Value $2 = Power
RadToDeg
Converts radians to degrees
$R = RadToDeg($1) $R = Result $1 = Value
sin
Sine function, value in radians
$R = sin($1) $R = Result $1 = Value
sqr
Value multiplied by itself
$R = sqr($1) $R = Result $1 = Value
sqrt
Square root of value
$R = sqrt($1) $R = Result $1 = Value
tan
Tan function, value in radians
$R = tan($1) $R = Result $1 = Value
Spatial Link
AddBendPoint
Adds a bend point to a spatial link between the two objects specified
AddBendPoint($R,$1,$2,$3) $R = From Object $1 = To Object $2 = X Position $3 = Y Position
AddDirectionalLink
Adds a spatial link between objects which can only be traversed in the forward direction
AddDirectionalLink($1,$2) $1 = From Object $2 = To Object
AddSpatialLink
Add a spatial link between the two objects labels specified
AddSpatialLink($1,$2) $1 = From Object $2 = To Object
ClearSpatialCache
Instructs Planimate to update spatial link information after links are created or objects are moved
ClearSpatialCache()
CopySpatialLink
Creates a spatial link between objects, copying an existing link's properties
CopySpatialLink($1,$2,$3) $1 = From Object $2 = To Object $3 = Copy Link
DeletePanelSpatialLinks
Deletes all spatial links on a given panel
DeletePanelSpatialLinks($1) $1 = Panel
RemoveSpatialLink
Removes any spatial links from and to the specified object labels (directional)
RemoveSpatialLink($1,$2) $1 = From Object $2 = To Object
SetItemTransitTarget
Sets the destination an item will look for once it enters a spatial link
SetItemTransitTarget($1) $1 = To Target
SetItemTransitTime
Sets the time an item will take to reach its destination once it enters a spatial link
SetItemTransitTime($1) $1 = To Time
SetLinkColor
Sets the color of a spatial link between 2 given objects
SetLinkColor($1,$2,$3) $1 = From Object $2 = To Object $3 = Color
SetLinkCost
Sets the link cost of a spatial link (normally computed from the link's distance)
SetLinkCost($1,$2,$3) $1 = From Object $2 = To Object $3 = Cost
SetSpatialLinkWidth
Sets the width of a spatial link between two objects
SetSpatialLinkWidth($1,$2,$3) $1 = From Object $2 = To Object $3 = Width
Special
---| Only During Move |---
Enables the modeller to specifically mark that the following routine lines do not execute during lookahead
Only During Move |---||----- Following Only During Move -----|
BREAKPOINTIF
If the parameter is true, this interrupts the routine and displays a debugging dialog enabling inspection of the models state
BREAKPOINTIF ($1) $1 = Enable Break
CallDLL
Enables a Planimate compatible DLL to be called
$R = CallDLL($F) $R = Result $F = Set to
CallRoutine
Calls a subroutine
CallRoutine($F) $F = Call
Comment (//)
A comment line
Comment
CopyFont
Copies the font properties between cells and columns
CopyFont($R,$1) $R = Format Result $1 = Format From
CopyFormat
Copies the format/unit type/label reference between cells, columns and attributes
CopyFormat($R,$1) $R = Format Result $1 = Format From
DescribeRoutineData
Describe the data accessed by a change object routine
DescribeRoutineData($1,$2,$3) $1 = Routine Panel $2 = Object Name $3 = Output Filename
EncodeRGB
Encodes red, green and blue components (0..255) into a single value used to specify any color
$R = EncodeRGB($1,$2,$3) $R = Result $1 = Red Value $2 = Green Value $3 = Blue Value
FormatForList
Formats the result object to reference a label list with the given name
FormatForList($R,$1) $R = Format Result $1 = List Name
GetFormat
Returns the value format of the data
$R = GetFormat($1) $R = Result $1 = Data To Test
GetFormatListName
Creates a new label with the name of the label list the target is formatted to. If no list, no change to the target is made
GetFormatListName($R,$1) $R = Result $1 = Data To Test
ListRoutineCode
Write a change object routine code to a file
ListRoutineCode($1,$2,$3) $1 = Routine Panel $2 = Object Name $3 = Output Filename
LoadDataSet
Initiates loading of a given data set from a file name specified by a label
LoadDataSet($1,$2) $1 = Data Set # $2 = File Name
LoadDataSet2
Load a version 2 dataset
$R = LoadDataSet2($1,$2,$3) $R = Result $1 = Definition Table $2 = File Name $3 = Pass Phrase
ObjectType
Returns the type of the object that the object label refers to
$R = ObjectType($1) $R = Result $1 = Object
SaveDataSet
Initiates saving of a given data set to a file name specified as a label
SaveDataSet($1,$2) $1 = Data Set # $2 = File Name
SaveDataSet2
Save a version 2 dataset
$R = SaveDataSet2($1,$2,$3) $R = Result $1 = Definition Table $2 = File Name $3 = Pass Phrase
SetFormat
Sets format of $1 to mode $2, with $3 being the label list name if its a label format
SetFormat($1,$2,$3) $1 = Data To Set $2 = Format $3 = List Name
SetLastDataFile
Sets the last data filename, optionally visible in the titlebar
SetLastDataFile($1) $1 = Name
StartScheduledEntries
Signals that scheduled entries should start (if options deferred them starting when the model was run)
StartScheduledEntries
Table
AdvancedSort
Performs a sort on a table using another table to define the sort criteria
AdvancedSort($R,$1) $R = Target $1 = Sort Info
AllocateTableRowMemory
Enables memory to be reserved for a table which is expected to grow to a large number of rows
AllocateTableRowMemory($R,$1) $R = Target Table $1 = Allocate Rows
AppendCol
Append a column to a table
AppendColumn($R) $R = Target
AppendRow
Append a row to the table
AppendRow($R) $R = Target
BlockMove
Block copy a range of cells to another table
BlockMove($R,$1,Range[$2][$3]) $R = Result $1 = Source $2 = # of Rows $3 = # of Cols
CopyToClipboard
Copy table to clipboard using its clipboard settings and the option modifiers
CopyToClipboard($R,$1) $R = From Table $1 = Options
CreateSortIndex
Creates an ordered list of row numbers if the given column was sorted alphabetically
CreateSortIndex($R,$1) $R = Target Column $1 = Column To Sort
DeleteCol
Delete a range of columns from a table
DeleteColumn($R,$1,$2) $R = Target Table $1 = First Col $2 = Col Count
DeleteRow
Delete a number of rows starting at a given row in a table
DeleteRow($R,$1,$2) $R = Target Table $1 = First Row $2 = Row Count
EnableColumnEditing
Controls whether a given table column can be edited
EnableColumnEditing($R,$1) $R = Target Column $1 = Edit Control
GetColumnProperty
Read a property of a table column
$R = GetColumnProperty($1,$2) $R = Result $1 = Table Column $2 = Property Label
InsertCol
Insert columns into a table with the option of copying formatting from another column
InsertColumn($R,$1,$2,$3) $R = Target Table $1 = Insert Pos. $2 = Col Count $3 = Copy Format
InsertRow
Insert a number of rows at a given row in a table
InsertRow($R,$1,$2) $R = Target Table $1 = Insert Pos. $2 = Row Count
OutOfScopeWrite
Enable writing to item table reference $1 even if it is not in scope
OutOfScopeWrite($1) $1 = Item Table Ref
PasteFromClipboard
Paste the clipboard into the table using its clipboard options and the modifiers
PasteFromClipboard($R,$1) $R = Target Table $1 = Configure
PurgeDuplicateRows
Removes any identical rows from the given table
PurgeDuplicateRows($R) $R = Target
Search
Search table until a condition is true
$R = Search($F) $R = Result $F = Set to
SetCellFreeText
Sets the free text (not bound by label text rules) for a table cell
SetCellFreeText($R,$1) $R = Target Cell $1 = Source Cell
SetColAlignment
Enables a column's text alignment to be changed
SetColumnAlignment($R,$1) $R = Target Column $1 = Align Mode
SetColSecondTitle
Sets the text of the second title row for the given column
SetColumnSecondTitle($R,$1) $R = Target Column $1 = Title Text
SetColTitle
Set the title text of a table column
SetColumnTitle($R,$1) $R = Target Column $1 = Title Text
SetColTupleName
Sets the name used to internally identify a column
SetColumnTupleName($R,$1) $R = Target Column $1 = Tuple Text
SetColumnProperty
Set a property of a table column
SetColumnProperty($1,$2,$3) $1 = Table Column $2 = Property Label $3 = Property Value
SetColWidth
Sets the formatting width of a table column
SetColWidth($R,$1) $R = Target Column $1 = Column Width
SetTableRowHeight
Sets the height of table rows
SetTableRowHeight($1,$2) $1 = Target Table $2 = Row Height
SetTableTitle
Set the title text of the table from the label
SetTableTitle($R,$1) $R = Target Table $1 = Title Text
ShiftCol
Shift the columns in a table
ShiftColumn($R,$1,$2) $R = Result $1 = Source $2 = Shift <+ ->
ShiftRow
Shift the rows in a table
ShiftRow($R,$1,$2) $R = Result $1 = Source $2 = Shift ^+ -v
Sort
Sort table by up to 3 columns
Sort($R,$1,$2,$3) $R = Target $1 = Primary Col. $2 = Second Col. $3 = Third Col.
TableReferenceSet
Returns non zero if the reference resolves to a table
$R = TableReferenceSet($1) $R = Result $1 = Item Table Ref
TableSortDialog
Enables the user to set up and perform a sort using the table sort dialog
TableSortDialog($R) $R = Target
Table View
GetFilteredRows
Retrieves the filter mapping of view rows to actual rows into the list table
GetFilteredRows($1,$2,$3) $1 = Filter List $2 = Table $3 = Panel
GetTableView
Read columns of a table view into another table
GetTableView($1,$2,$3) $1 = View Table $2 = View Panel $3 = Config Table
ImportIntoView
Imports the system clipboard into a table view starting at the specified Top Left cell. Returns zero on success
$R = ImportIntoView($1,$2,$3,$4,$5,$6,$7) $R = Error Result $1 = Table $2 = Panel $3 = TL Row $4 = TL Col $5 = Options $6 = Rows Read $7 = Cols Read
ReFilterTableView
Reapply any active filters to the current data in the table
ReFilterTableView($1,$2) $1 = Table $2 = Panel
SetTableView
Set columns that a table view will display
SetTableView($1,$2,$3) $1 = View Table $2 = View Panel $3 = Config Table
SetTableViewColScroll
Sets the column scroll of a view for a table on a given panel
SetTableViewColScroll($1,$2,$3) $1 = Table $2 = Panel $3 = Value
SetTableViewRowScroll
Sets the row scroll of a view for a table on a given panel
SetTableViewRowScroll($1,$2,$3) $1 = Table $2 = Panel $3 = Value
TableViewColScroll
Reads the column scroll of a view for a table on a given panel
$R = TableViewColScroll($1,$2) $R = Target $1 = Table $2 = Panel
TableViewRows
Reads the number of rows in a table view. If a filter is set, this may differ from the number of rows in the table
$R = TableViewRows($1,$2) $R = Target $1 = Table $2 = Panel
TableViewRowScroll
Reads the row scroll of a view for a table on a given panel
$R = TableViewRowScroll($1,$2) $R = Target $1 = Table $2 = Panel
TableViewVisibleCols
Reads the number of visible columns in a table view
$R = TableViewVisibleCols($1,$2) $R = Target $1 = Table $2 = Panel
TableViewVisibleRows
Reads the number of visible rows in a table view
$R = TableViewVisibleRows($1,$2) $R = Target $1 = Table $2 = Panel
Time
DayOfMonth
Returns the day of the month, starting at 1
$R = DayOfMonth($1) $R = Result $1 = Time
DayOfWeek
Returns the day of the week, starting at 1 for Sunday
$R = DayOfWeek($1) $R = Result $1 = Time
DaysInDateMonth
Returns how many days in the month of the absolute time
$R = DaysInDateMonth($1) $R = Result $1 = Time
FormDate
Computes the absolute time representing midnight on the given date
$R = FormDate($1,$2,$3) $R = Result $1 = Date $2 = Month $3 = Year
HourOfDay
Returns the hour into the current day of the time, starting at 0
$R = HourOfDay($1) $R = Result $1 = Time
HourOfDay+1
Returns the hour into the current day of the time, starting at 1 instead of 0
$R = HourOfDay_1($1) $R = Result $1 = Time
IncrementByMonths
Increments the date by one or more months, attempting to keep the same day of month
IncrementByMonths($R,$1) $R = Result $1 = # of months
MonthOfYear
Returns the month of the year, starting at 1 for January
$R = MonthOfYear($1) $R = Result $1 = Time
TimeOfDay
Returns the number of seconds into the current day of the time
$R = TImeOfDay($1) $R = Result $1 = Time
WeekOfYear
Returns the week of the year, starting at 1
$R = WeekOfYear($1) $R = Result $1 = Time
YearOfDate
Returns the year of the given calendar time
$R = YearOfDate($1) $R = Result $1 = Time
Tuple
DecodeMultiLabelToTuple
Extracts the fields of a multi-label to item attributes with names matching the label lists in the multi-label
DecodeMultiLabelToItem($R) $R = Target
EncodeItemToMultiLabel
Combines item attributes to form a multi-label, for item attributes with names matching the label lists in the multi-label
EncodeItemToMultiLabel($R) $R = Target
MatchedCopyRow
Copy rows between tables where the column names match
MatchedCopyRow($R,$1) $R = Result $1 = Set To
TupleAppendFromCarried
Append a row to the table and for it, set table columns from a carried item's attributes with the same name
TupleAppendFromCarried($R,$1) $R = Table $1 = Carried Index
TupleAppendFromItem
Append a row into the table and for it, set table columns from item attributes with the same name
TupleAppendFromItem($R) $R = Table
TupleCarriedToRow
For the specified row, set table columns from a carried item's attributes with the same name
TupleCarriedToRow($R,$1) $R = Row $1 = Carried Index
TupleDecrementToRow
For the specified row, decrement cells with the values of item attributes with matching names
TupleDecrementFromRow($R) $R = Row
TupleExtractToCarried
For the specified row, set a carried item's attributes from table columns with the same name then delete the row
TupleExtractToCarried($R,$1) $R = Row $1 = Carried Index
TupleExtractToItem
For the specified row, set item attributes from table columns with the same name then delete the row
TupleExtractToItem($R) $R = Row
TupleIncrementToRow
For the specified row, increment cells with the values of item attributes with matching names
TupleIncrementToRow($R) $R = Row
TupleInsertFromCarried
Insert a row into the table and for it, set table columns from a carried item's attributes with the same name
TupleInsertFromCarried($R,$1) $R = Row $1 = Carried Index
TupleInsertFromItem
Insert a row into the table and for it, set table columns from item attributes with the same name
TupleInsertFromItem($R) $R = Row
TupleItemToRow
For the specified row, set table columns from item attributes with the same name
TupleItemToRow($R) $R = Row
TupleRowToCarried
For the specified row, set a carried item's attributes from table columns with the same name
TupleRowToCarried($R,$1) $R = Row $1 = Carried Index
TupleRowToItem
For the specified row, set item attributes from table columns with the same name
TupleRowToItem($R) $R = Row
UI
AddListToMenu
Appends a new menu to the modeller custom menu bar
AddListToMenu($1,$2) $1 = Menu Name $2 = Item List
BrowseFile
Browse for a file. Returns non zero if one chosen. $1 sets an initial file, $2 enables a save-style dialog. Use s.LastAccessedDataFile and s.LastAccessedDataFilePath to access the file and full path spec of the file selected.
$R = BrowseFile($1,$2) $R = File Chosen $1 = File Spec $2 = Save Mode
ClearCustomMenubar
Removes all menu items from the modeller custom menu bar
ClearCustomMenubar
Dialog
Show a dialog box for the user to interact with
$R = Dialog($F) $R = Result $F = Dialog
HandlePopupMenu
Interprets columns in table as depth/name/index and generates a popup menu. Returns index of selected item or 0 if cancelled
$R = HandlePopupMenu($1) $R = Result $1 = Table
InitiateFieldEdit
Starts editing attribute/cell views on a panel, as if the user clicked on the first one
InitiateFieldEdit($1) $1 = Target Panel
SetMenuBar
Interprets columns in table as depth/name/index and builds a custom menu bar
SetMenuBar($1) $1 = Table