PML Functions
- Last UpdatedNov 19, 2025
- 3 minute read
A set of PML functions for rename operations are to be found in \PMLLIB\designreuse\... and should be seen as collection of examples for further customization. As help the functions utilize information provided by two objects designed for Design Reuse. NameSubstMap is an object with purpose to keep a cross reference table of "old" and "new" names. This object is meant to be maintained by the rename functions and can be used to simply for name functions to return names already settled. The object is provided with some supportive functionality like storing it on file system for later usage. The second object TransferSet holds some formal information about the transfer set and some project data provided by the source project that can be useful when doing name changes for example, project name, mdb, ship letters, ship number, surfaces
Beside the NameSubstMap object a form is provided as graphical interface to manage the object. The form is implemented as a grid showing "old" and "new" names and provided with functionality to edit the object. In the example triggers provided the form is invoked by the PreOpenTrigger and through this user can review and in advance affect name changes to take place.
PML Objects
|
NAMESUBSTMAP |
|
|
NAMESUBSTMAP() |
Default constructor |
|
ADD(STRING, STRING) |
Add new entry of "old" and "new" name |
|
CLEAR() |
Remove all entries |
|
CONTAINSKEY(STRING) |
True if "old" name exists |
|
CONTAINSVALUE(STRING) |
True id "new" name exists |
|
COUNT() |
Number of entries |
|
KEYS() |
Array of all "old" names |
|
LOADFROMFILE(STRING) |
Load object by specified file |
|
REMOVE(STRING) |
Remove entry with "old" name |
|
SAVETOFILE(STRING) |
Store object to specified file |
|
TRYGETVALUE(STRING, STRING) |
True if for "old" name find a "new" name |
|
VALUES() |
Array of all "new" names |
|
TRANSFERSET |
|
|
TRANSFERSET() |
Default constructor |
|
TRANSFERSET(STRING) |
Constructor for specified transfer set |
|
CURRENTGROUPBUTT(STRING) |
Butt group for specified surface in current project |
|
CURRENTGROUPFRAME(STRING) |
Frame group for specified surface in current project |
|
CURRENTGROUPLONG(STRING) |
Long group for specified surface in current project |
|
CURRENTGROUPSEAM(STRING) |
Seam group for specified surface in current project |
|
CURRENTGROUPTRANS(STRING) |
Transversal group for specified surface in current project |
|
CURRENTGROUPWATER(STRING) |
Waterline group for specified surface in current project |
|
CURRENTLOGINNAME() |
Current login name |
|
CURRENTMDB() |
Current mdb |
|
CURRENTPROJECTID() |
Current project id |
|
CURRENTSHIPLETTERS() |
Ship letters in current project |
|
CURRENTSHIPNO() |
Ship number in current project |
|
CURRENTSURFACES() |
Surfaces in current project |
|
CURRENTTIME() |
Current date and time |
|
CURRENTUSERNAME() |
Current user name |
|
IMPORTDIRECTORY() |
Target folder for import |
|
SOURCEGROUPBUTT(STRING) |
Butt group for specified surface in source project |
|
SOURCEGROUPFRAME(STRING) |
Frame group for specified surface in source project |
|
SOURCEGROUPLONG(STRING) |
Long group for specified surface in source project |
|
SOURCEGROUPSEAM(STRING) |
Seam group for specified surface in source project |
|
SOURCEGROUPTRANS(STRING) |
Transversal group for specified surface in source project |
|
SOURCEGROUPWATER(STRING) |
Waterline group for specified surface in source project |
|
SOURCELOGINNAME() |
Login name for user created the transfer set |
|
SOURCEMDB() |
Mdb in source project |
|
SOURCEPROJECTID() |
Project id of source project |
|
SOURCESHIPLETTERS() |
Ship letters in source project |
|
SOURCESHIPNO() |
Ship number in source project |
|
SOURCESURFACES() |
Surfaces in source project |
|
SOURCETIME() |
Date and time when transfer set was created |
|
SOURCEUSERNAME() |
|
|
TRANSFERDIRECTORY() |
|
|
TRANSFERSET() |
PML Form
NameSubst form visualized by which the NameSubstMap object can be managed. It is available for further customization and can be found in \pmllib\designreuse\form\.

|
Save to File: |
Store contents of grid to file. |
|
Open File: |
Load grid by file. |
|
Create: |
Create new entry in grid. |
|
Delete: |
Delete entries from grid. |
|
Refresh: |
Update grid by current NameSubstMap object |
|
OK: |
Update NameSubstMap object by contents of grid and close the dialog. |
|
Cancel: |
Close dialog and do not update current NameSubstMap object. |
|
Apply: |
As OK but don't close the dialog. |
Further, it is possible to edit "old" and "new" names by a regular cell edit.