Altium Designer の拡張機能

Altium Designer's extension model lets you add functionality that runs inside the design environment itself – not alongside it.

拡張機能は、C# または C++ で Altium Designer SDK を使用して構築されたコンパイル済み DLL です。これらは Altium Designer のクライアント/サーバー アーキテクチャに第一級モジュールとして組み込まれ、ユーザー視点では標準搭載機能と見分けがつきません。拡張機能では、メニュー項目、パネル、ツールバー、コマンドを追加できるほか、PCB、回路図、BOM、プロジェクトデータを含む完全な設計オブジェクトモデルにアクセスして変更することもでき、通常の Outjob ワークフローの一部として出力を生成することもできます。

これはスクリプティングとは異なるモデルです。スクリプトは実行時にインタープリタで処理され、利用できるのはスクリプティング API のサブセットに限られます。拡張機能はコンパイル済みで、SDK 全体にアクセスでき、独自のドキュメントエディターや出力ジェネレーターを実装できます。大規模環境で確実に動作させる必要があるもの、設計環境と深く統合する必要があるもの、またはサポート対象ツールとして複数のエンジニアに配布する必要があるものには、拡張機能が適したアプローチです。

拡張機能は実際に何に使われるのか

  • Custom panels and UI within Altium Designer – 最も一般的なユースケースです。拡張機能は、外部システムの情報を表示するドッキング可能なパネルを追加できます。たとえば、ERP の部品ステータス、社内データベースの承認済み製造元データ、最新のサプライチェーンデータなどを、設計環境内に直接表示できます。エンジニアはツールを切り替えることなく必要な情報を確認できます。

  • Proprietary output generators – Altium Designer の Outjob システムは、第一級の出力タイプとして組み込まれるカスタム出力ジェネレーターをサポートしています。拡張機能は、標準ではサポートされていない形式の出力を生成できます。たとえば、カスタム ネットリスト形式、独自の製造データ構造、社内文書テンプレートなどです。さらに、既存の出力およびリリースのワークフローに統合することもできます。

  • Design rule extensions – 拡張機能は、PCB エディターのネイティブ DRC システム内で実行されるカスタム DRC チェックを追加できます。このチェックは同じパネル内に表示され、同じ違反マーカーを生成し、標準の DRC と同じオブジェクトへクロスプローブできます。エンジニアは、そのチェックがカスタムであることを意識する必要がありません。

  • Automation beyond scripting – 拡張機能は、スクリプトでは現実的でない複雑な設計操作の一連の処理を自動化できます。たとえば、大規模設計の反復処理、複数ファイルにまたがるバッチ処理、設計作業中の外部 API 連携などです。拡張機能はコンパイル済みであるため、アプリケーション本体と同等のパフォーマンスレベルで動作します。

拡張機能とスクリプティングの違い: 使い分けのタイミング

スクリプティングは、迅速な反復、一度きりの自動化、頻繁な変更が必要なタスクに適しています。スクリプトは作成が速く、変更も容易です。

一方、拡張機能は、SDK 全体へのアクセス、本番運用レベルの信頼性、UI コンポーネント、カスタム ドキュメントエディターや出力ジェネレーター、またはチーム全体への管理されたツール配布が必要な場合に使用します。拡張機能にはビルド工程と開発環境が必要ですが、その投資は、チームのワークフローの標準的な一部になるものに対して十分に見合います。

配布と保守

拡張機能は Altium Workspace を通じて配布および管理されます。公開されると、エンジニアは手動でファイルを配布したりローカルでインストール作業を行ったりすることなく、自分の Workspace から拡張機能をインストールできます。更新も同じ仕組みで管理されます。そのため拡張機能は、個人用ユーティリティにとどまらず、チーム用ツールとしても実用的です。配布と更新の問題がすでに解決されているからです。

拡張機能が適切でない場合

要件が単純な自動化や一度限りのデータ変換であれば、スクリプティングの方が少ないオーバーヘッドでより速く目的を達成できます。拡張機能が意味を持つのは、その機能が信頼性、保守性を備え、ワークフローのサポート対象の一部として複数のエンジニアに提供される必要がある場合です。どちらから始めるべきか迷うなら、まずはスクリプティングから始めてください。スクリプトが制約を超えて成長したとき、拡張機能は自然な次のステップになります。

 

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
Content