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.