Running Scripts

 

Bien que le système de scripts d’Altium Designer fournisse les moyens de créer des tâches automatisées sophistiquées pour Altium Designer, les scripts obtenus doivent également être facilement accessibles pendant le processus de conception. Par exemple, un script créé pour effectuer un ensemble complexe d’opérations lors de l’édition d’un PCB doit être facilement disponible dans l’éditeur PCB lui-même, où il peut être exécuté en un ou deux clics de souris.

Altium Designer répond à ce besoin en permettant d’assigner un script à un lanceur de processus, et donc à une commande pouvant être affectée à un menu, une barre d’outils et un raccourci.

Exécution des scripts

Lorsqu’il est ouvert dans l’éditeur de scripts, un script peut être exécuté à l’aide de la commande Run » Run de l’éditeur depuis les menus principaux (raccourci : F9). Le script actuel référencé par la commande Run » Set Project Startup Procedure sera exécuté.

Si la commande Set Project Startup Procedure n’a pas été définie, la boîte de dialogue Select Item To Run apparaîtra pour vous inviter à choisir le script et sa procédure à exécuter.

Si un script contient des erreurs, le script sera arrêté et vous pourrez utiliser diverses commandes de débogage pour corriger les erreurs et réessayer de l’exécuter.

La commande Run nécessite que le projet de script soit ouvert dans Altium Designer, ce qui n’est pas une approche pratique pour accéder à un script nécessaire pendant le processus de conception PCB, par exemple. En alternative, la boîte de dialogue Select Item To Run (File » Run Script) vous permet de parcourir un script sur votre disque dur local ou dans un Workspace connecté connected Workspace ou de sélectionner un script ouvert dans le panneau Projects puis d’exécuter le processus souhaité. Le script reste chargé pour la session en cours.

Exécution d’un script à l’aide du lanceur de processus de script via la boîte de dialogue Select Item to Run.Exécution d’un script à l’aide du lanceur de processus de script via la boîte de dialogue Select Item to Run.

Si des erreurs sont présentes dans le script, après avoir cliqué sur OK dans la boîte de dialogue Select Item To Run, une boîte de dialogue d’erreur s’ouvrira pour vous avertir qu’une erreur est présente. La boîte de dialogue fournira des informations sur l’erreur, le document source du script sera ouvert et la ligne de script fautive sera mise en surbrillance. Fermez cette boîte de dialogue en cliquant sur le bouton OK et arrêtez le système de scripts en sélectionnant la commande Run » Stop dans les menus principaux (raccourci : Ctrl+F3).

La boîte de dialogue d’erreur ne signalera que la première erreur de script rencontrée. Il peut en exister d’autres, qui seront détectées lors des tentatives suivantes d’exécution du script.

Une méthode plus appropriée pour accéder à un script fréquemment utilisé consiste à installer le projet comme Global Project depuis la page Scripting System – Global Projects page de la boîte de dialogue Preferences. Dans ce cas, le projet est automatiquement chargé au démarrage d’Altium Designer et peut être exécuté à tout moment via la commande File » Run Script.

La manière idéale d’accéder aux fonctionnalités d’un script, cependant, est de l’intégrer à l’interface graphique d’Altium Designer sous forme de commande de menu ou de barre d’outils. Il s’agit normalement d’un processus en deux étapes : implémenter un script comme commande (avec raccourci facultatif), puis affecter la commande à un menu (statique ou contextuel) ou à une barre d’outils.

Le script en tant que commande

Un script peut être implémenté comme commande d’application en exploitant les processus serveur intégrés d’Altium Designer, ou plus précisément le processus ScriptingSystem:RunScript.

Une commande représente une action exécutée et est prise en charge par une chaîne de processus via un lanceur de processus empaqueté. Dans le cas du processus ScriptingSystem:RunScript, il comprend des paramètres pointant vers un fichier de projet de script spécifique, un fichier de script constitutif (*.pas) et un processus au sein de ce script. Lorsqu’ils sont correctement agencés, ces éléments constituent une chaîne de commande.

L’avantage de cette approche est que l’exécution du script en tant que processus évite d’avoir à ouvrir directement le script ou à le charger comme projet global. Le second avantage, plus important, de l’utilisation de la méthode par processus pour exécuter un script est qu’elle peut être implémentée comme une commande Altium Designer facilement accessible. Cela se fait en personnalisant le système de menus d’Altium Designer, où un script peut être affecté à une commande pour un serveur désigné, c’est-à-dire une sous-application telle que le système de fichiers ou un éditeur de document de conception.

Créer une commande

Pour affecter par exemple le script HelloWorld comme commande pour l’éditeur PCB, ouvrez d’abord un document PCB (et donc l’éditeur), puis sélectionnez View » Tools » Customize dans le menu principal pour ouvrir la boîte de dialogue Customizing PCB Editor dialog. La boîte de dialogue est également accessible en cliquant avec le bouton droit sur une barre de menus ou une barre d’outils, puis en choisissant Customize dans le menu déroulant, ou en double-cliquant dans une zone vide (à l’écart de toute commande) d’une barre de menus ou d’une barre d’outils.

Pour créer une nouvelle commande, cliquez sur le bouton New de la boîte de dialogue pour ouvrir la boîte de dialogue Edit Command, dans laquelle les détails du processus serveur et du chemin du script peuvent être saisis – assurez-vous que la catégorie [Scripts] n’est pas sélectionnée lors de la création d’une commande à partir d’un script.

Les entrées Action de la boîte de dialogue prennent la forme suivante :

Process: ScriptingSystem:RunScript
Parameters: ProjectName|ProcName>Process

Selon le chemin source vers le script, la chaîne Parameters ressemblerait à ceci :

ProjectName=C:\Users\Public\Documents\Altium\Delphiscript Scripts\General\HelloWorld.PRJSCR|ProcName=HelloWorld.pas>HelloWorld

Pour un projet de script hébergé dans un Workspace, le chemin, et donc l’entrée des paramètres de la commande, doit pointer vers l’emplacement correct dans le Workspace – lequel est basé sur la référence GUID du script du Workspace. Cette référence doit donc être obtenue before de tenter de créer la nouvelle entrée de commande de script. Pour récupérer les paramètres corrects d’un script installé depuis le Workspace, ouvrez la boîte de dialogue Select Item To Run (File » Run Script), cliquez avec le bouton droit sur la procédure souhaitée dans le script et choisissez la commande Copy script parameters dans le menu contextuel. Cela copiera dans le presse-papiers le chemin complet, le nom du processus et la procédure.

Sélectionnez le processus/la procédure requis dans le projet de script du Workspace, puis copiez les paramètres du script.
Sélectionnez le processus/la procédure requis dans le projet de script du Workspace, puis copiez les paramètres du script.

La boîte de dialogue Edit Command fournit également des champs de saisie pour une légende de commande, une description, un raccourci et une image bitmap associée (BMP/GIF/PNG ; 18 x 18 pixels). Ces paramètres sont enregistrés avec la commande et s’appliquent à toutes les occurrences où elle est insérée dans des menus, des barres d’outils et des menus contextuels – comme décrit dans la section Assigning Menu Commands ci-dessous.

Les paramètres requis peuvent être copiés depuis l’entrée réelle du script dans la catégorie [Scripts] de la boîte de dialogue Customize PCB Editor si le script est actuellement chargé. Pour charger temporairement le script, recherchez-le et ouvrez-le via la commande File » Run Script. Une fois copiés, assurez-vous que l’entrée Categories n’est plus définie sur [Scripts] avant de créer la commande avec le bouton New .

Voir l’image d’exemple

Une fois les détails renseignés et la boîte de dialogue d’édition fermée (), le script HelloWorld devient disponible comme commande personnalisée (sous [Custom]) pour l’éditeur PCB.

Notez que les commandes sont implémentées sur une base serveur, de sorte qu’une commande personnalisée créée pour l’éditeur PCB (comme ci-dessus) ne sera pas disponible pour d’autres fonctions, telles que l’éditeur de schémas ou le système de scripts.

Exécution d’un script à l’aide du processus RunScriptFile

Un script unité DelphiScript d’Altium Designer (avec une extension *.pas) peut être exécuté à l’aide du processus RunScriptFile. Notez que seuls les scripts unité DelphiScript peuvent être utilisés – pas les scripts comportant des formulaires. Dans ce cas, les entrées Action de la boîte de dialogue prennent la forme suivante :

Process: ScriptingSystem:RunScriptFile
Parameters: FileName|ProcName

Selon le chemin source vers le fichier de script, la chaîne Parameters ressemblerait à ceci :

FileName=C:\Users\Public\Documents\Altium\Delphiscript Scripts\Processes\ShowNetList.pas|ProcName=RunNetList

Exécution d’un script à l’aide du processus RunScriptText

Ce processus peut être utilisé pour exécuter une série de commandes dans le bloc Begin End;. Dans ce cas, les entrées Action de la boîte de dialogue prennent la forme suivante :

Process: ScriptingSystem:RunScriptText
Parameters: Text

Par exemple, une application externe telle que Microsoft Notepad peut être lancée depuis Altium Designer via un contrôle logiciel. Dans ce cas, les entrées de processus de commande et de paramètres seraient :

Process: ScriptingSystem:RunScriptText
Parameters: Text=Begin RunApplication('notepad.exe'); End;

Le processus logiciel, dans ce cas, ScriptingSystem:RunScriptText, exécute littéralement une séquence d’instructions de script, plutôt que d’ouvrir et d’exécuter un fichier de script spécifique comme décrit ci-dessus.

L’approche alternative consiste à créer un script avec quelques lignes de code équivalentes, puis à créer une entrée de commande ScriptingSystem:RunScript conventionnelle.

Procedure RunNotepad;
Begin
    RunApplication('notepad.exe');
End;

Notez que, pour les deux approches d’implémentation de la commande externe Notepad, il suffit simplement de saisir 'notepad.exe' comme paramètre pour RunApplication, plutôt que de spécifier le chemin complet et le nom de fichier de l’application. Les applications Windows telles que Calculator et Notepad ont déjà leurs chemins spécifiés par le système d’exploitation.

Pour lancer depuis Altium Designer une application qui ne dispose pas d’un chemin Windows inhérent, il faut spécifier le chemin complet et le nom de fichier de l’application (entre apostrophes, afin de prendre en charge les espaces éventuels dans le chemin). Ainsi, pour lancer par exemple une seconde copie d’Altium Designer, le processus RunApplication et les paramètres seraient :

RunApplication('C:\Program Files\Altium\xx\X2.EXE') – où xx représente le nom du dossier de version d’Altium Designer.

Les commandes peuvent être modifiées, dupliquées et supprimées directement depuis la boîte de dialogue de personnalisation (dans ce cas, la boîte de dialogue Customizing PCB Editor) à l’aide des boutons situés en bas de la boîte de dialogue.

Attribution de commandes de menu

Lorsqu’un script est implémenté comme commande serveur personnalisée via la fonction de personnalisation d’Altium Designer (View » Toolbars » Customize), comme détaillé ci-dessus, il peut être attribué à l’interface graphique du serveur par un simple glisser-déposer.

► Voir aussi Personnalisation de l’espace de conception

Barres d’outils

Pour attribuer une commande personnalisée au menu principal de l’éditeur PCB ou au menu de la barre d’outils, par exemple, ouvrez la boîte de dialogue Customizing PCB Editor, localisez la commande personnalisée et faites-la glisser vers l’emplacement souhaité dans le menu. Notez qu’un document PCB doit être ouvert pour permettre l’accès aux menus de l’éditeur PCB. Une fois la boîte de dialogue de personnalisation fermée, la nouvelle commande de menu peut être utilisée à tout moment dans l’éditeur PCB.

Une commande personnalisée peut être glissée vers l’emplacement de menu requis.
Une commande personnalisée peut être glissée vers l’emplacement de menu requis.

Une commande peut également être ajoutée à l’aide de l’option Insert Link option dans les options accessibles par clic droit sur le menu.

Comme la nouvelle commande personnalisée a été attribuée à la barre active PCB dans cet exemple, elle est visible dans la catégorie de commandes PCB Active Bar de la boîte de dialogue Customizing PCB Editor.

Lorsqu’elle est attribuée à un menu, la commande de script personnalisée apparaît dans la catégorie de ce menu dans la boîte de dialogue de personnalisation.
Lorsqu’elle est attribuée à un menu, la commande de script personnalisée apparaît dans la catégorie de ce menu dans la boîte de dialogue de personnalisation.

Pour supprimer une commande d’un menu, ouvrez la boîte de dialogue de personnalisation puis faites glisser l’icône de la commande du menu vers la boîte de dialogue.

Suppression d’une commande attribuée à la barre d’outils.
Suppression d’une commande attribuée à la barre d’outils.

En mode personnalisation, les commandes attribuées à un menu peuvent également être modifiées et supprimées en cliquant avec le bouton droit directement sur la commande du menu.

Menus

Une commande personnalisée peut être attribuée à un menu, à n’importe quel niveau de profondeur, en utilisant le même processus de glisser-déposer décrit ci-dessus.

Lorsque le serveur est en mode personnalisation, les menus restent réactifs au pointeur de la souris et se déploient ou se replient en conséquence. Pour placer une commande dans le menu Reports de l’éditeur PCB, par exemple, faites glisser la commande dans le menu puis vers le bas de la liste, où elle peut être déposée à une position appropriée. Une fois la boîte de dialogue de personnalisation fermée, la nouvelle commande de menu – ici, Notepad – est accessible depuis le menu Reports .

Les menus actifs pendant la personnalisation permettent de faire glisser une commande personnalisée dans un menu déroulant.
Les menus actifs pendant la personnalisation permettent de faire glisser une commande personnalisée dans un menu déroulant.

Menu contextuel

Une commande peut être attribuée à un menu contextuel accessible par clic droit de la même manière que décrite ci-dessus, sans restriction liée à la profondeur du sous-menu.

Dans cet exemple, la commande est glissée le long du chemin de menu PCB Popups » Right Mouse Click Free Space et déposée dans le sous-menu comme illustré ci-dessous. Une fois attribuée, la commande de script personnalisée Notepad devient disponible dans l’éditeur PCB lors d’un clic droit dans un espace vide.

Commande personnalisée attribuée à un sous-menu accessible par clic droit
Commande personnalisée attribuée à un sous-menu accessible par clic droit

Attribution directe de script

Comme alternative à la création d’une commande personnalisée réutilisable à partir d’un script puis à son attribution à un menu, un script peut être appliqué directement à un menu comme approche rapide et ponctuelle.

Cela évite l’étape de création d’une commande personnalisée en attribuant directement un script chargé à un menu. En l’absence d’une commande personnalisée correspondante, qui peut être appliquée comme commande entièrement configurée à plusieurs menus, cette méthode directe constitue une solution unique pour l’accès au script depuis un menu. Ainsi, les différents paramètres de la commande, tels que son intitulé, sa description, son image et ses raccourcis, ne s’appliquent qu’à l’instance attribuée.

Pour attribuer directement un script à un menu, chargez le projet de script, ouvrez la boîte de dialogue Customizing du serveur (View » Toolbars » Customize), sélectionnez [Scripts] dans la liste des catégories, localisez le script souhaité et faites-le glisser vers une position dans le menu. Cliquez sur pour fermer la boîte de dialogue Edit Command.

Un script, plutôt qu’une commande, peut également être attribué directement à un menu.
Un script, plutôt qu’une commande, peut également être attribué directement à un menu.

Comme pour tous les placements dans les menus, si le nouvel élément de menu est encore dans ses paramètres par défaut (nom de l’intitulé, raccourci, etc.), ceux-ci peuvent être corrigés en cliquant avec le bouton droit sur l’entrée du menu et en sélectionnant Edit dans le sous-menu. Cela ouvre la boîte de dialogue Edit Command, dans laquelle des paramètres appropriés peuvent être saisis.

En mode personnalisation, cliquez avec le bouton droit sur un menu pour accéder à ses paramètres.
En mode personnalisation, cliquez avec le bouton droit sur un menu pour accéder à ses paramètres.

Une fois configuré, le nouveau menu sera disponible au moment de la conception sans qu’il soit nécessaire de charger explicitement le projet de script ou de l’installer comme projet global.

Notez que cette approche d’application d’un script à un menu crée automatiquement la commande requise. Il ne s’agit pas d’une commande personnalisée réattribuable et entièrement configurée comme décrit dans les méthodes ci-dessus, mais d’une commande créée pour cette entrée de menu directe.

Cela peut être observé dans l’entrée de catégorie de menu réelle de la boîte de dialogue Customizing . Pour l’exemple ci-dessus, la commande configurée individuellement est visible dans la catégorie Reports de la boîte de dialogue Customizing PCB Editor.

Lorsqu’un script est appliqué directement à un menu, la commande correspondante est créée uniquement pour cette entrée de menu.
Lorsqu’un script est appliqué directement à un menu, la commande correspondante est créée uniquement pour cette entrée de menu.

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Contenu