Utilisation de ChatGPT pour les scripts Altium

Ari Mahpour
|  Créé: Juillet 21, 2023  |  Mise à jour: Septembre 16, 2026
At a Glance

Dans cet article, Ari Mahpour explique comment utiliser au mieux ChatGPT pour le scripting Altium dans le langage DelphiScript.

Go Deeper with AI:
Chat GPT pour les scripts Altium

 

À présent, cela fait déjà quelques mois que les utilisateurs ont eu le temps de se familiariser avec l’IA générative et, plus particulièrement, ChatGPT. Dans mon dernier article, Utiliser ChatGPT pour les tests automatisés, j’ai présenté le service ChatGPT, montré comment s’y familiariser et comment l’utiliser pour générer du code afin d’exécuter des tests sur votre matériel. Dans cet article, nous allons voir comment utiliser au mieux ChatGPT pour écrire du code DelphiScript afin d’exécuter des fonctions automatisées directement dans Altium à l’aide de Altium Scripting.

Premiers pas

Avant de nous plonger dans l’implémentation, il est important de bien comprendre avec quoi nous travaillons ici. Altium Scripting est mieux pris en charge avec DelphiScript (plutôt que d’autres langages). Bien qu’une recherche rapide en ligne donne des résultats du type « Nous sommes en 2022 — n’est-il pas temps de commencer à coder en Delphi ? » et des titres accrocheurs comme « Le langage Pascal utilisé dans Delphi est l’un des langages de programmation les plus populaires et universels », je n’ai jamais vu Delphi utilisé en dehors de Altium Designer. Cela ne veut pas dire que c’est un mauvais langage — simplement qu’il est moins couramment utilisé que Python, C++, etc. Il y a beaucoup à apprendre avec un nouveau langage (surtout si vous n’êtes pas programmeur de formation), c’est pourquoi Altium a rassemblé de nombreuses ressources et même des outils autour du développement en DelphiScript ici. Si vous souhaitez vraiment vous plonger dans ce langage, les ressources qui s’y trouvent peuvent être utiles.

Enregistrer votre projet

Lorsque vous commencez à utiliser Altium Scripting, vous allez très vite constituer un vaste dépôt de scripts que vous souhaiterez peut-être enregistrer et/ou partager. Pour créer un nouveau projet Scripting dans Altium Designer, accédez à File > New > Script > Script Project. Cliquez avec le bouton droit sur votre projet nouvellement créé, puis accédez à Add New to Project > Script Unit. Cela créera un nouveau fichier .pas qui sera votre script :





Chat GPT

Figure 1 : Ajout d’un fichier de script au projet existant

Nous allons vouloir l’enregistrer dans notre espace de travail Altium 365. Assurez-vous d’abord d’avoir enregistré le projet localement. Ensuite, cliquez de nouveau avec le bouton droit sur le projet et accédez à History & Version Control > Add Project to Version Control…





Chat GPT

Figure 2 : Ajout du projet à l’espace de travail Altium 365

 

Suivez ensuite les instructions pour enregistrer le projet dans votre espace de travail Altium 365. Pour des instructions supplémentaires sur la façon d’écrire, d’exécuter et de déboguer du code DelphiScript dans Altium Designer, consultez la documentation Altium.

IA générative complète

Maintenant que tout est configuré, nous sommes prêts à nous lancer. ChatGPT a le « potentiel » d’écrire entièrement du DelphiScript du début à la fin. J’emploie ici le mot « potentiel » plutôt que « capacité », car il ne fait pas toujours les choses correctement. Prenons un exemple simple où nous demandons à ChatGPT de générer un script en DelphiScript pour lister tous les nets de mon projet. J’ai commencé par une invite qui était, il faut bien l’admettre, très vague :





ChatGPT

Figure 3 : Réponse initiale de ChatGPT

Cela a automatiquement compris que je voulais lister tous les nets à partir d’un PcbDoc. En réalité, je les voulais depuis le schéma, je l’ai donc corrigé :





ChatGPT

Figure 4 : Une des nombreuses tentatives de ChatGPT pour écrire le bon script

 

Je n’ai pas affiché tout le code qu’il m’a généré, mais ce qui a suivi, c’est que j’ai exécuté le code à plusieurs reprises pour finalement voir Altium Designer échouer sur des erreurs telles que « Undeclared Identifier: eNet » ou « Expected: in For Pin in Component. Pins Do. » Tout ce que j’ai fait, c’est répondre plusieurs fois à ChatGPT avec ces erreurs et, à la cinquième tentative, il a généré le code que je cherchais.

Ce qui est clair, c’est qu’il n’est pas excellent pour générer du DelphiScript à partir de zéro, mais il est capable de le faire. Gardez cela à l’esprit avant de jeter votre clavier contre le mur sous le coup de la frustration.

Assistant IA

ChatGPT peut aussi être utilisé davantage comme un acolyte ou un pair programmeur. Vous pouvez utiliser ChatGPT pour analyser votre code, trouver des bogues ou vous aider à ajuster des fonctions spécifiques. Nous pouvons prendre un exemple existant de Altium Scripting et demander à ChatGPT de le modifier pour répondre à nos besoins.

Il existe des ressources (en particulier hébergées sur GitHub) qui vous fournissent des exemples de Altium Scripting. Je vais utiliser celles officiellement fournies par Altium. Elles sont disponibles ici.

Je pars de l’exemple PlaceAPort situé dans \DelphiScript Scripts\SCH\Sch_Scripts.PrjScr. J’ai confié à ChatGPT une tâche très simple :





ChatGPT

ChatGPT m’a fourni le code qui répondait exactement à cette demande. Pour être honnête, c’est assez simple si vous êtes relativement à l’aise avec la programmation. Rendons cela un peu plus difficile, de façon à nécessiter une connaissance contextuelle de Altium Scripting.

Voici mon invite mise à jour pour ChatGPT :





Using ChatGPT for Altium Scripting

 

Il échoue du premier coup avec un identifiant non déclaré :





ChatGPT

Figure 5 : Erreur du débogueur dans Altium Designer

Je le lui signale et, bien sûr, il s’excuse. Il échoue à nouveau avec une erreur « Undeclared identifier: Name », mais à la troisième tentative, j’obtiens mon étiquette de net exactement là où elle doit être :





ChatGPT

Figure 6 : Nouvelle étiquette de net et port générés par les scripts modifiés

Il est évident qu’à mesure que la complexité augmente, les chances que ChatGPT produise le bon script du premier coup diminuent. J’ai constaté qu’avec de la persévérance, il finit par obtenir le bon résultat, surtout si vous pouvez l’aider un peu (à condition de comprendre le code qu’il génère). 

Conclusion

Dans cet article, nous avons commencé par une introduction à Altium Scripting, à la création d’un projet et à son enregistrement dans votre espace de travail Altium 365. Nous avons ensuite examiné des exemples avec ChatGPT dans lesquels il a entièrement généré des scripts à partir de zéro, puis modifié des scripts que nous lui avions fournis. Nous avons démontré ses capacités ainsi que le fait qu’il ne fait pas toujours les choses correctement. Même s’il n’est pas parfait, il peut certainement vous servir de guide tout au long de votre parcours avec Altium Scripting. Et surtout, il vaut certainement mieux l’avoir que de ne pas l’avoir du tout.

A propos de l'auteur

A propos de l'auteur

Ari est un ingénieur doté d'une solide expérience dans la conception, la fabrication, les tests et l'intégration de systèmes électriques, mécaniques et logiciels. Il aime collaborer avec des ingénieurs chargés de la conception, la vérification et les tests afin de favoriser les synergies.

Related Technical Documentation

Ressources associées

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.