スクリプトによる設計タスクの自動化
スクリプティングは、Altium Designerでの作業能力と生産性を高める強力な手段です。スクリプトには、Altium Designerで実行する際に解釈される一連の命令(自動化されたコマンド)が含まれています。スクリプトは複数の言語で記述でき、高度なダイアログを組み込んだり、Altium Designer内でデバッグしたりできます。スクリプトを使用すると、ユーザーによる入力を最小限に抑え、キー操作やマウスクリックの回数を減らしながら、設計上の目的を達成できます。
スクリプトを使用すると、繰り返し作業を自動化したり、Altium Designerの既存のコマンドでは対応できない編集を行ったりできます。たとえば、PCBドキュメント上のフィデューシャルマークを検索して更新したり、カスタマイズしたネットリストをエクスポートしたりするスクリプトを作成できます。
スクリプトは、スクリプトプロジェクトまたは設計プロジェクトに保存できます。Altium Designerでは、複数のスクリプト言語を使用してスクリプトを記述できます。
スクリプティングシステムの概要と設定
Altium Designerのスクリプティングシステムには、ソフトウェア内の作業を自動化するスクリプトの作成に必要なツールと機能がすべて用意されています。
スクリプトを記述することで、繰り返し作業を自動化したり、Altium Designerの機能を拡張したりできます。スクリプティングシステムは、エディターとデバッガーという2つの主要部分で構成されています。スクリプトエディター、デバッガー、スクリプティング用パネルが連携し、スクリプトの記述とデバッグを容易にします。スクリプトはスクリプトエディターから直接実行できるほか、メニュー、ツールバー、ホットキーに割り当てて、PCBなどの現在のドキュメントにいつでも適用できます。
► 詳細はこちら:Altium Designerのスクリプティングシステム
スクリプトの作成と保存
Altium Designerのスクリプトは通常、スクリプトプロジェクト(*.PrjScr)で作成および保存しますが、どの種類のプロジェクトにも追加または保存できます。
スクリプトの記述を始めるには、まず新しいスクリプトプロジェクトを作成し、そのプロジェクトにスクリプトファイルを追加します。
スクリプトプロジェクトはスクリプトの管理に役立ち、メインメニューからFile » New » Project » Script Projectを選択して作成できます。新しいプロジェクトはProjectsパネルに表示されます。プロジェクトに新しいスクリプトを追加するには、プロジェクト名を右クリックし、コンテキストメニューからAdd New to Projectを選択します。
新しいスクリプトを作成する際は、プロジェクトの要件に応じて、スクリプトユニットとスクリプトフォームの2種類から選択できます。スクリプトユニットでは、独立したプロシージャや関数を記述できます。スクリプトフォームでは、プロシージャや関数に加え、コントロールやイベントハンドラーを備えたダイアログを作成できます。
► 詳細はこちら:Altium Designerでのスクリプトの作成と保存
スクリプトの記述
スクリプトの記述には、次のような重要な概念と用語があります。
-
プロセスとは、スクリプト内でコマンドを実行するために使用できるコマンド文字列です。
-
コンポーネントとは、Tool Paletteパネル上のビジュアルコントロールオブジェクトです。スクリプトフォームにドラッグ&ドロップして、設計を操作するために使用できます。
-
スクリプトフォームに配置されたコンポーネントには、メソッド、プロパティ およびイベントがあります。
-
オブジェクトインターフェースとは、スクリプトから設計ドキュメントのデータを抽出および変更するために使用できる専用のオブジェクトインターフェースです。
デフォルトのスクリプト言語はDelphiScript(*.pas)に設定されています。スクリプティングエンジン自体はEmbarcadero Delphiで記述されており、Tool PaletteパネルはDelphiのVCL(Visual Component Library)に基づいています。
► 詳細はこちら:Altium Designerでのスクリプトの記述
スクリプトの編集およびデバッグツール
Altium Designerのスクリプティングシステムは、エディターとデバッガーという2つの主要部分で構成されています。エディターには、スクリプトコードの記述支援機能や検査機能が用意されており、デバッガーではスクリプトコンポーネントやデバッグ機能にアクセスできます。スクリプティングエディターのツールは、スクリプトをデバッグするうえで重要な役割を果たします。
スクリプティングシステムには、スクリプトのデバッグを支援するさまざまなツールがあります。たとえば、スクリプトへの複数のブレークポイントの設定、Watch Listパネルによる変数値の監視、ブックマークによる効率的な移動、ステップインおよびステップオーバー機能によるスクリプトの実行追跡などが可能です。
► 詳細はこちら:Altium Designerのスクリプト編集ツール
► 詳細はこちら:Altium Designerでのスクリプトのデバッグ
スクリプトの実行
Altium Designerのスクリプティングシステムは、Altium Designer向けの高度な自動化処理を作成する手段を提供しますが、作成したスクリプトは設計作業中に簡単に利用できる必要もあります。たとえば、PCBの編集中に複雑な一連の操作を行うために作成したスクリプトは、PCBエディター内ですぐに利用でき、1~2回のマウスクリックで実行できることが望まれます。
Altium Designerでは、スクリプトをプロセスランチャーに割り当てることで、これを実現できます。これにより、スクリプトをメニュー、ツールバー、ショートカットに割り当て可能なコマンドとして利用できます。
スクリプトエディターでスクリプトを開いている場合は、エディターのRunコマンドで実行できます。この方法では、Altium Designerでスクリプトプロジェクトを開いておく必要があるため、たとえばPCB設計中に必要なスクリプトへアクセスする方法としては便利ではありません。代わりに、Select Item To Runダイアログ(File » Run Script)を使用すると、ローカルハードドライブまたは接続済みのWorkspaceにあるスクリプトを参照して、目的のプロセスを実行できます。スクリプトは、現在のセッション中は読み込まれたままになります。
頻繁に使用するスクリプトへアクセスするには、PreferencesダイアログのScripting System – Global Projectsページから、プロジェクトをグローバルプロジェクトとして登録する方法が適しています。この場合、Altium Designerの起動時にプロジェクトが自動的に読み込まれ、File » Run Scriptコマンドでいつでも実行できます。
► 詳細はこちら:Altium Designerでのスクリプトの実行
スクリプティング用グラフィカルコンポーネント
Altium Designerのスクリプトで使用できるビジュアルフォームコンポーネントの大半は、EmbarcaderoのVisual Component Library(VCL)から派生したものです。VCLは、DelphiおよびC++言語を使用してWindowsアプリケーションを開発するために定義されたビジュアルコンポーネントの集合です。
ビジュアルクラスライブラリとして開発されたVCLのクラスは、線形のオブジェクト階層において、TComponentオブジェクト(これ自体がルートオブジェクトであるTObjectから派生)を継承しています。そのため、TButtonオブジェクトなどの一般的なスクリプトコンポーネントは、上位のオブジェクトからプロパティ、メソッド、イベントを継承します。この場合、クラス階層はTObject → TPersistent → TComponent → TControl → TWinControl → TButtonControl → TButtonです。
TControlオブジェクトから派生するコンポーネントは通常、ビジュアルコンポーネント(コントロール)であり、TWinControlから派生する一般的なコンポーネントの大半はWindows APIのラッパーです。
Altium Designerのスクリプトエディターでフォームを作成する際は、Tool Paletteパネルからコンポーネントにアクセスします。スクリプトフォームには、関連付けられた*.DFMファイルがあり、フォームの構成、コンポーネントの位置、その他の属性の詳細が含まれています。このファイルは、スクリプトプロジェクトの格納フォルダーに保存されます。Altium Designerでは、スクリプトフォームの設計時に、DelphiScriptまたはVBScriptのいずれでもコンポーネントを使用できます。
► 詳細はこちら:Altium Designerのスクリプティング用グラフィカルコンポーネント
スクリプトの例
スクリプトシステムの全般的な側面と、スクリプトでのDelphiおよびX2オブジェクトモデルの使用について理解を深めるため、基板外形をコピーするスクリプトとネットリストを生成するスクリプトの2つのサンプルプロジェクトを、機能の観点から検討します。Board Outline CopierとNetlisterのスクリプトは、Altium Designerのスクリプトシステムの機能を示すために、X2オブジェクトモデルを使用して開発されています。
これらは、Altiumが提供するサンプルのダウンロード に含まれる既存のスクリプトです。このZIPファイルは、Altium Designer 10のリリース時に作成されたものです。ZIPファイル内のScriptsフォルダーには、スクリプト言語別に整理されたサブフォルダーが含まれています。
Altium DesignerのGitHubコレクションには、さまざまな便利なスクリプトが用意されています。
► 詳細はこちら:Altium Designerのスクリプトサンプルの分析
► 詳細はこちら:Altium Designerのスクリプトサンプルリファレンス
スクリプト言語のサポート
Altium Designerのスクリプトは、複数のスクリプト言語で記述できます。主に使用され、スクリプトのドキュメントで最も多く取り上げられている言語は、Embarcadero Delphi™と密接に関連するDelphiScriptです。
► 詳細はこちら:Altium Designerのスクリプト言語のサポート






