Créer une dérivation spécifique personnalisée
Introduction
Il y a un énorme avantage de construire un traducteur dérivé. Il utilisera le traducteur parent complet (de base), à l’exception que du nouveau contenu sera ajouté ici, et les fonctions existantes redéfinies supplanteront celles de base. Dans ce cas, le traducteur de base reste intact. Mais aussi que les changements (majeurs) apportés au traducteur de base sont appliqués automatiquement à tout traducteur dérivé.
Marches
1. Traducteur dérivé
| 1.1 | Dans Visual Studio Code, ouvrez le CustomTranslator.py du plugin d’exemple, qui a été implémenté pendant la préparation. |
| 1.2 | Au début, on retrouve la définition de classe du traducteur. Puisque nous voulons dériver de HelloWorld, nous devons le spécifier entre crochets. Pour cet exemple, la structure hiérarchique ressemble à : ![]() |
| 1.3 | De plus, il est important d’ajouter la ligne suivante au début de chaque téléchargement. |
2. Fonctions de dérogation
| 2.1 | Dans le contrôleur de la cellule de travail, changez le traducteur utilisé en CustomTranslator.py. ![]() |
| 2.2 | Dans la classe parente HelloWorld.py nous produisons tous les attributs avec la propriété PROCESS_ATTRIBUTE. En CustomTranslator.py, nous supprimons la fonction par une implémentation personnalisée. Ajoutez les lignes suivantes à la fonction OperationStart(). # get log operator logger = operator. GetLogOperator() logger. LogInfo(« Default OperationStart called ») # obtenir le nom de l’opération opérationName = opération. GetName() # itère à travers tous les attributs de l’opération soi-même. ProgramContent.append(‘Nom de l’opération : %s’ % opérationNom) Outrepasser la fonction signifie que la sortie précédente des attributs d’opérations dans HelloWorld.py ne se produira plus. Sortie de HelloWorld.py |
| 2.3 | Cependant, il est également possible d’appeler la fonction OperationStart() de la classe mère à la fin. Ajoutez la ligne suivante à la fonction. super(). OpérationDémarrer (opérateur, opération) Sortie : |
| 2.4 | Cela vous permet aussi de décider si la fonction mère doit être appelée au début ou à la fin. Appelez l’implémentation OperationStart() de la classe mère au début. Supprimez la ligne ajoutée précédemment à la fin et placez-la au début, selon la photo ci-dessous. Sortie : |
3. Sortie d’événements
| 3.1 | Dans votre cellule de travail, ajoutez un événement Texte à un élément de trajectoire d’outil en ouvrant le panneau d’événements. ![]() |
| 3.2 | Implémentez la sortie de l’événement textuel. Ajoutez les lignes suivantes à la fonction HandleEvent(). # obtenir tous les attributs attributs = événement. GetAttributes() # initialiser variables texte = ” isComment = Vrai # itérer les attributs pour l’attribut dans les attributs : # obtenir texte si attribut. GetName() == ‘Text’ : texte = attribut. GetValue() # get flag est un texte qui est un attribut elif commentaire (True) ou command (False). GetName() == ‘IsComment’ : isComment = attribut. GetValue() # vérifie si commente si isComment : # crée une chaîne et ajoute-la au tableau source de chaînes self. ProgramContent.append(‘Comment : %s’ % text) sinon : self. ProgramContent.append(‘Commande :%s’ % texte) Sortie |
Was this page helpful?








