スクリプトによる設計タスクの自動化
スクリプトは、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でのスクリプトの作成と保存について読む Creating & Storing Scripts in Altium Designer
スクリプトの記述
スクリプトを記述する際に適用されるいくつかの基本的な概念と用語があります:
-
プロセスは、スクリプト内でコマンドを実行するために使用できるコマンド文字列です。
-
コンポーネントは、Tool Paletteパネル上の視覚的な制御オブジェクトで、スクリプトフォームにドラッグアンドドロップしてデザインを操作できます。
-
スクリプトフォームに配置されたコンポーネントには、メソッド、プロパティ、イベントがあります。
-
オブジェクトインターフェースは、スクリプトから設計文書のデータを抽出および変更するために使用できる特別なオブジェクトインターフェースです。
デフォルトのスクリプト言語はDelphiScript (*.pas
)に設定されています。スクリプトエンジン自体はEmbarcadero Delphiで書かれており、ツールパレットパネルはDelphiのVCL(ビジュアルコンポーネントライブラリ)に基づいています。
► Altium Designerでのスクリプトの書き方について読む
スクリプト編集&デバッグツール
Altium Designer スクリプティングシステムは、エディタとデバッガーの2つの主要な部分で構成されています。エディタは、スクリプティングコードのヘルプや検査機能を幅広く提供し、デバッガーはスクリプトコンポーネントへのアクセスとデバッグ機能を提供します。スクリプティングエディタツールは、スクリプトのデバッグ時に重要な資産です。
スクリプトのデバッグを支援するためのツールがスクリプティングシステムにはいくつかあります。これには、スクリプト内に複数のブレークポイントを適用する、ウォッチリストパネルを使用して変数の値を監視する、より効率的にジャンプするためのブックマークを使用する、ステップインとステップオーバー機能を使用してスクリプトをトレースするなどが含まれます。
► 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)を使用すると、ローカルハードドライブまたは接続された管理コンテンツサーバーでスクリプトを参照し、希望するプロセスを実行できます。スクリプトは現在のセッションでロードされたままになります。
頻繁に使用するスクリプトにアクセスするより適した方法は、プロジェクトを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 スクリプトエディタでフォームを作成する際、コンポーネントはツールパレットパネルからアクセスされます。スクリプトフォームには、フォームの設定、コンポーネントの位置、その他の属性の詳細が含まれる*.DFM
ファイルが関連付けられており、そのファイルはスクリプトプロジェクトのホストフォルダ内にあります。Altium Designerは、スクリプトフォームの設計時にDelphiScriptまたはVBScriptによるコンポーネントの使用を可能にします。
► Altium Designerでのスクリプティンググラフィカルコンポーネントについて読む
スクリプト例
スクリプティングシステムの一般的な側面と、スクリプトでのDelphiおよびX2オブジェクトモデルの使用についてさらに洞察を提供するために、機能性の観点から2つの例題プロジェクトを検討します - ボードアウトラインコピーとネットリスト生成スクリプト。ボードアウトラインコピーとネットリスタースクリプトは、Altium Designerのスクリプティングシステムの能力を示すために、X2オブジェクトモデルを使用して開発されています。
これらは、例題スクリプトコレクションで利用可能な既存のスクリプトです。ZIPファイル内のScriptsフォルダには、スクリプティング言語に応じて整理されたサブフォルダが含まれています。
多くの有用なスクリプトがAltium Designer GitHubコレクションで見つかることに注意してください。
► Altium Designerでのスクリプト例分析について読む
► Altium Designerのスクリプティング例リファレンスについて読む
スクリプト言語のサポート
Altium Designerでは、いくつかのスクリプト言語でスクリプトを記述できます。スクリプトドキュメントで主に参照される言語はDelphiScriptであり、これはEmbarcadero Delphi™に密接に関連しています。
► Altium Designerでのスクリプト言語サポートについて読む