Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

Hull and Outfitting

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.

Related Links
TitleResults for “How to create a CRG?”Also Available in