Extensions d’Altium Designer
Altium Designer's extension model lets you add functionality that runs inside the design environment itself – not alongside it.
Les extensions sont des DLL compilées, développées avec le SDK d’Altium Designer en C# ou en C++. Elles s’intègrent à l’architecture client-serveur d’Altium Designer comme des modules de premier plan, impossibles à distinguer des fonctionnalités intégrées du point de vue de l’utilisateur. Une extension peut ajouter des éléments de menu, des panneaux, des barres d’outils et des commandes ; accéder au modèle objet complet de conception et le modifier, y compris les données PCB, Schéma, BOM et projet ; et produire des sorties dans le cadre du flux de travail Outjob normal.
Il s’agit d’un modèle différent du scripting. Les scripts sont interprétés à l’exécution et limités au sous-ensemble de l’API de scripting. Les extensions sont compilées, disposent d’un accès complet au SDK et peuvent implémenter leurs propres éditeurs de documents et générateurs de sorties. Pour tout ce qui doit fonctionner de manière fiable à grande échelle, s’intégrer en profondeur à l’environnement de conception ou être distribué à plusieurs ingénieurs comme outil pris en charge, les extensions sont la bonne approche.
À quoi servent réellement les extensions
-
Custom panels and UI within Altium Designer – le cas d’usage le plus courant. Une extension ajoute un panneau ancrable qui affiche directement dans l’environnement de conception des informations provenant d’un système externe — statut des composants depuis l’ERP, données fabricant approuvées depuis une base de données interne, données en direct de la chaîne d’approvisionnement. Les ingénieurs voient ce dont ils ont besoin sans changer d’outil.
-
Proprietary output generators – le système Outjob d’Altium Designer prend en charge des générateurs de sorties personnalisés qui s’intègrent comme types de sortie de premier plan. Une extension peut générer des sorties dans des formats non pris en charge nativement — formats de netlist personnalisés, structures de données de fabrication propriétaires, modèles de documentation internes — et les intégrer au flux de travail existant de génération de sorties et de release.
-
Design rule extensions – les extensions peuvent ajouter des contrôles DRC personnalisés qui s’exécutent dans le système DRC natif de l’éditeur PCB. Le contrôle apparaît dans le même panneau, produit les mêmes marqueurs de violation et effectue du cross-probing vers les mêmes objets que le DRC intégré. Les ingénieurs n’ont pas besoin de savoir qu’un contrôle est personnalisé.
-
Automation beyond scripting – les extensions peuvent automatiser des séquences complexes d’opérations de conception qui sont peu pratiques dans des scripts — itération sur de grandes conceptions, exécution d’opérations par lots sur plusieurs fichiers, intégration avec des API externes pendant le travail de conception. Parce que les extensions sont compilées, elles s’exécutent avec le niveau de performance de l’application elle-même.
Extension vs scripting : quand utiliser l’un ou l’autre
Utilisez le scripting pour les itérations rapides, l’automatisation ponctuelle et les tâches qui doivent être modifiées fréquemment. Les scripts sont plus rapides à écrire et plus faciles à modifier.
Utilisez les extensions lorsque vous avez besoin d’un accès complet au SDK, d’une fiabilité de niveau production, de composants d’interface utilisateur, d’éditeurs de documents personnalisés ou de générateurs de sorties personnalisés, ou d’une distribution comme outil géré au sein de votre équipe. Les extensions nécessitent une étape de build et un environnement de développement, mais cet investissement est rentable pour tout ce qui devient un élément standard du flux de travail de votre équipe.
Distribution et maintenance
Les extensions sont distribuées et gérées via l’Altium Workspace. Une fois publiées, les ingénieurs installent les extensions depuis leur Workspace sans nécessiter de distribution manuelle de fichiers ni d’étapes d’installation locale. Les mises à jour sont gérées par le même mécanisme. Cela rend les extensions pratiques comme outils d’équipe — et pas seulement comme utilitaires individuels — car le problème de la distribution et des mises à jour est déjà résolu.
Quand les extensions ne sont pas le bon choix
Si votre besoin est une automatisation simple ou une transformation de données ponctuelle, le scripting vous permettra d’y parvenir plus rapidement avec moins de surcharge. Les extensions ont du sens lorsque la fonctionnalité doit être fiable, maintenable et disponible pour plusieurs ingénieurs comme élément pris en charge du flux de travail. Si vous ne savez pas par quoi commencer, commencez par le scripting — les extensions sont l’étape suivante naturelle si le script dépasse ses contraintes.