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






