2.2.1.7. Makros einsetzen

Sie können unter einem Makronamen eine Folge von Anweisungen oder Deklarationen zusammenfassen, um diese (anstelle der Einzelanweisungen) mit nur einem einfachen Aufruf ausführen zu können.

Beispiel aus $CADENAS_SETUP/ifnxteamcenter.cfg:

Makro zur Verschlüsselung des Teilenamens:

_ENCODE_PARTNAME=Application.GetObject("iface.teamcenter").EncodePartName

Anstatt "Application.GetObject("iface.teamcenter").EncodePartName" zu benutzen, können Sie dann auch einfach "zb _ENCODE_PARTNAME" ausführen.

Ausschnitt aus $CADENAS_SETUP/ifacecommon.cfg:

[Macros]
_CALCNAME=GetObject("iface.calcnameservice")
_FORMAT_DOC=GetObject("iface.calcnameservice").start("DOC").Format
_FORMAT_0=GetObject("iface.calcnameservice").start(0).Format
_METAOBJ=GetObject("iface.metaoptionservice").GetObj()
_METAOBJ_ROOT=GetObject("iface.metaoptionservice").GetRoot()
; Macro to decrypt a password.
_DECRYPT_PW=getObject("iface.passwordService").decryptPassword
; Macro to start a ChainCall
_START_CHAINCALL=meta_plm.startChainCall().chainCall
; Maco to get the active iface module
_ACTIVE_IF_MODULE=getObject("pdm.ManagerService").getActiveIfaceModule()
; Macro to get the active iface item (InterfaceInfoC)
_ACTIVE_IFACE_ITEM=GetObject("pdm.ManagerService").GetActiveIfaceItem()
; Macro to get the current CAD name
_CURRENT_CAD_NAME=GetObject("pdm.ManagerService").GetActiveIfaceItem().getCurrentCadname()
;Macro to get the TeamcenterHookService object.
_TC_HOOK_SERVICE=teamcenter_public_api.getTeamcenterPublic().PDMHookservice("9.1")
;Macro to get the value of a specific Creationoption. Only works in CreationOptions !
_CREATION_OPTION(=context.getGlobalOption("CreationOptions",

Grundsätzlich empfiehlt sich die Deklaration von übergreifend benötigten Makros in ifacecommon.cfg, ansonsten in der jeweiligen speziellen Konfigurationsdatei.