Scripts d’événements
Un script événement est un fichier Python nommé d’après l’événement (par exemple, SpeedEvent.py).
Il se trouve dans le dossier des scripts d’événements à l’intérieur du plugin .
Lorsque le noyau traite un événement, il appelle ces callbacks :
Chaîne de rappel
Référence de classe opérateur → rappel
| Rappel | Classe d’opérateur | Objectif |
|---|---|---|
| PostInitAttributes | CENPyOlpEvent_AttribInitOperator | Créer/lire/écrire des attributs d’événement |
| PostProcessAttributes | CENPyOlpEvent_PEOperator | Attributs des événements de processus |
| PostCompute | CENPyOlpEvent_EventComputeOperator | Logique de calcul d’événements personnalisée |
| PostProcessAttributesUpload | CENPyOlpEvent_PEOperatorUpload | Attributs du processus lors de l’upload |
| PostOnAttribChanged | CENPyOlpEvent_AttribChangedOperator | Réagit aux changements d’attribut |
Rappels de métadonnées d’événements
Le script d’événements fournit également des rappels de métadonnées qui retournent des valeurs de configuration. Ce sont des fonctions simples sans argument de classe d’opérateurs :
| Rappel | Type de retour | Description |
|---|---|---|
GetEventName | str | Nom affiché de l’événement |
GetEventUuId | str | Identifiant unique |
GetIconName | str | Nom du fichier d’icônes |
GetGroupName | str | Nom du groupe de l’événement |
GetEventType | int | Constante de type d’événement |
GetMultipleCreationIsPossible | bool | Autoriser plusieurs instances |
IsMachiningCycle | bool | Que ce soit un cycle d’usinage |
Schéma typique
def GetEventName():
return 'MyCustomEvent'
def GetEventUuId():
return '{12345678-1234-1234-1234-123456789012}'
def PostInitAttributes(eventAttribInitOperator):
creator = eventAttribInitOperator.GetAttribCreator()
creator.AddDouble('Power', 100.0, 0, 500, 1.0,
USER_ATTRIBUTE | PROCESS_ATTRIBUTE, ATTRIB_POWER, 'Power')
def PostProcessAttributes(eventPEOperator):
getter = eventPEOperator.GetAttribGetter()
power = getter.GetDouble('Power')
logOp = eventPEOperator.GetLoggerOperator()
logOp.LogInfo(f'Processing event with power {power}')Was this page helpful?