2.2.1.7. Utiliser des macros

Vous pouvez regrouper sous un nom de macro une suite d'instructions ou de déclarations afin de pouvoir les exécuter (au lieu des instructions individuelles) avec un seul appel simple.

Exemple tiré de $CADENAS_SETUP/ifnxteamcenter.cfg:

Macro de chiffrement du nom de la pièce :

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

Au lieu de « Application.GetObject("iface.teamcenter").EncodePartName » , vous pouvez ensuite simplement exécuter « zb _ENCODE_PARTNAME ».

Extrait de $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",

En principe, il est recommandé de déclarer macros requises à tous les niveaux dans ifacecommon.cfg, sinon dans le fichier de configuration spécifique.