スクリプトによる設計タスクの自動化

現在、バージョン 17.1. をご覧頂いています。最新情報については、バージョン スクリプトによる設計タスクの自動化 の 24 をご覧ください。

スクリプトは、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のAPIとそれに伴うスクリプティングシステムのインターフェース、そのメソッドやプロパティが進化しているため、一部のレガシースクリプト例が元々の意図した通りに動作しない可能性があります。それにもかかわらず、スクリプト例のコレクションにあるすべてのスクリプトは有用なリソースであり、独自のスクリプトを作成するための参考情報として使用できます。

多くの有用なスクリプトがAltium Designer GitHubコレクションで見つかることに注意してください。

Altium Designerでのスクリプト例分析について読む

Altium Designerのスクリプティング例リファレンスについて読む


スクリプト言語のサポート

Altium Designerでは、いくつかのスクリプト言語でスクリプトを記述できます。スクリプトドキュメントで主に参照される言語はDelphiScriptであり、これはEmbarcadero Delphi™に密接に関連しています。

デフォルトのスクリプト言語はDelphiScriptに設定されています。VBScriptやJavaScript(Jscript)などのレガシースクリプト言語を使用するには、詳細設定ダイアログLegacy.Scripts.SupportOldLanguagesを有効にする必要があります。ただし、JavaScriptは既存のスクリプトのみ開くことができ、新規作成には対応していません。

Altium Designerでのスクリプト言語サポートについて読む

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
注記

利用できる機能は、Altium 製品のアクセスレベルによって異なります。Altium Designer ソフトウェア サブスクリプション の様々なレベルに含まれる機能と、Altium 365 プラットフォーム で提供されるアプリケーションを通じて提供される機能を比較してください。

ソフトウェアの機能が見つからない場合は、Altium の営業担当者に連絡して 詳細を確認してください。