Altium Designerにおけるスクリプティングシステムの概要と設定
Altium Designer のスクリプトシステムは、ソフトウェア内の作業を自動化するスクリプトを作成するために必要なツールと機能をすべて備えています。
スクリプトエディタ、デバッガ、各種スクリプト用パネルが連携して、スクリプトの作成とデバッグを容易にします。スクリプトはスクリプトエディタから直接実行できるほか、メニュー、ツールバー、またはホットキーに割り当てることで、PCB Layout などの現在のドキュメントに対していつでも適用できます。

Altium Designer で Script Code と Form の各ウィンドウを表示し、Object Inspector、Code Explorer、Tool Palette の各パネルを表示している例。
スクリプトシステムの機能
スクリプトシステムは、主に 2 つの要素(エディタとデバッガ)で構成されます。主な機能は次のとおりです。
-
Project access – スクリプトはスクリプトプロジェクトまたはデザインプロジェクトに保存できます。プロジェクト内の任意のスクリプトに含まれるルーチンは、同一プロジェクト内の他のスクリプトから参照できます。
-
Scripting Editor – スクリプトエディタには専用のテキストエディタが用意されており、編集環境の設定や構文カラーリングなど、さまざまなオプションを利用できます。
-
Scripting Panels – スクリプトシステムには、スクリプトのコーディングとデバッグを迅速に行うための複数のパネルが用意されています。
-
Scripting Debugger – スクリプト実行時にエラーが発生すると、簡潔なエラーメッセージを示すダイアログが表示されます。Watches ウィンドウで変数をプレビューしたり、Script Debugger でコードをトレースしてスクリプトの実行を制御したりできます。
-
Scripting Languages – スクリプトは DelphiScript で作成でき、レガシー言語として有効化されている場合は VBScript でも作成できます。
スクリプトユニットとフォーム
スクリプトプロジェクトは、Script Units と Script Forms の 2 種類のスクリプトドキュメントをサポートします。Script Units では、独立したプロシージャおよび関数を記述できます。Script Forms では、コントロールとイベントハンドラを備えたダイアログに加え、プロシージャおよび関数を作成できます。
- Script Unit は X2 Application Programming Interface(API)を使用して、設計ドキュメント上の設計オブジェクトを変更または操作できます。Script Form はユーザーインターフェースとしてコントロールをホストし、X2 API を活用して、アクティブな設計ドキュメントに作用するスクリプトダイアログを提供します。
- Script Form は、スクリプトによってサポートされるビジュアルなフォームユニットです。フォームがアクティブなとき、それはダイアログウィンドウを表します。
- Script Form には 2 つのビュー(Script Code ビューと Script Form ビュー)があります。Script Code ビューにはイベントハンドラとプロシージャ/関数が含まれます。Script Form ビューは(複数タイプの)ダイアログフォームを表し、コントロールと、それに関連付けられたイベントハンドラを備えます。
-
Script Form には関連ファイルが 2 つあります。イベントハンドラとプロシージャ/関数を含む
*.pasファイルと、スクリプトフォーム自体の詳細(コンポーネントおよびその配置)を含む*.dfmファイルです。 - コンポーネントとは、ユーザーからの入力(マウスクリックや文字入力のシーケンスなど)を受け付ける、ビジュアルまたは非ビジュアルのコントロールオブジェクト(Tool Palette panel から配置)です。設計時には、Object Inspector panel を使用して Script Form 上のコンポーネントを操作できます。コンポーネントは、スクリプトシステムがサポートする任意の言語セットの任意の Script Form で使用できます。
-
コンポーネント(コントロールオブジェクト)には、Script Form から利用できるメソッド、プロパティ、イベントがあります。
- メソッドは、オブジェクトが実行できるアクションです。
- プロパティは、オブジェクトに含まれるデータを表し、アクセスまたは変更できます。
- イベントは、Script Form 上のコンポーネントが反応できる条件です。
- Script Form には、フォームのボタンがクリックされたときなど、捕捉した条件を処理するイベントハンドラがあります。
Altium Designer のスクリプト例
例示および参照用スクリプトは、オブジェクトのインターフェース、メソッド、プロセス、プロパティ、コンポーネントがスクリプト内でどのように適用されるかを理解するうえで有用なリソースです。また、独自のスクリプトプロジェクトのベースとしても利用できます。
例の実行
Altium Designer でスクリプト例をすばやく実行するには、まず例のプロジェクト、または例スクリプトフォルダのいずれかから個別のスクリプトファイルを開きます。たとえば、Scripts\Delphiscript Scripts\General フォルダにあるシンプルな「Hello World」プロジェクト(HelloWorld.PRJSCR)などです。

DelphiScript の Hello World プロジェクトが Projects panel に開かれている状態。
このプロジェクトには「Hello World」スクリプトが 2 つのバージョンで含まれており、2 つ目(HelloWorlDialog.pas)は Form ユニットの基本的な使用方法を示しています。スクリプト名をダブルクリックすると、エディタでスクリプトを開いて確認できます。なお、スクリプトはエディタで開いていなくても実行できます。
いずれかのスクリプトを実行するには、メインメニューから File » Run Script を選択し、Select Item To Run ダイアログで利用可能なスクリプトプロシージャを選びます。いずれかのバージョンを実行すると、メッセージを表示するダイアログが開きます。
スクリプトシステムのセットアップ
環境設定
スクリプトシステムの既定の環境設定は、デザインスペース右上の
コントロールボタンをクリックして開く Preferences ダイアログで構成できます。
一般設定
Preferences dialog の Text Editors – General ページでは、文字列検索の挙動、行のタブ/インデント方法、キー割り当て、その他の高度なオプションなど、スクリプト編集に関する要件を設定できます。

Preferences dialog の Text Editors – General ページ
色の設定
Preferences dialog の Text Editors – Colors ページでは、選択したスクリプト言語に対する Script Editor の構文カラーリングを設定し、スクリプトエディタ内の要素の色を構成できます。たとえば、背景を黒、コメントのキーワードを白、などです。

Preferences dialog の Text Editors – Colors ページ
表示設定
Preferences dialog の Text Editors – Display ページでは、右マージンや行番号の表示、構文ハイライト、コードのアウトライン表示など、スクリプトの視覚的な機能を設定できます。

Preferences dialog の Text Editors – Display ページ
グローバルプロジェクトの設定
Preferences dialog の Scripting System – Global Projects ページには、利用可能(インストール済み)なスクリプトプロジェクトが一覧表示されます。スクリプトプロジェクトは、インストール、削除、または並べ替えが可能です。

Preferences dialog の Scripting System – Global Projects ページ
フォームデザイナの設定
Preferences dialog の Scripting System – Form Designer ページでは、スクリプトフォームドキュメント向けのグリッドおよびコンポーネントデジグネータのオプションが提供されます。

