使用脚本自动完成设计任务
脚本是一种强大的工具,可提升您使用 Altium Designer 的能力和效率。脚本包含一组指令(自动化命令),在 Altium Designer 中执行时会被解释运行。脚本可以使用多种语言编写,配备复杂的对话框,并在 Altium Designer 中进行调试。借助脚本,您可以通过更少的用户输入、按键操作和鼠标点击来实现设计目标。
借助脚本,您可以自动执行重复性任务,并进行 Altium Designer 现有命令无法实现的编辑。例如,您可以使用脚本搜索并更新 PCB 文档中的基准标记,或导出自定义网表。
脚本可以保存在脚本工程或设计工程中。Altium Designer 支持使用多种脚本语言编写脚本。
脚本系统概述与设置
Altium Designer 脚本系统提供了创建脚本所需的全部工具和功能,帮助您自动执行软件中的任务。
您可以编写脚本来自动执行重复性任务,或增强 Altium Designer 中的某项功能。脚本系统由两个主要部分组成:编辑器和调试器。脚本编辑器、调试器和脚本面板相互配合,帮助您轻松编写和调试脚本。脚本可以直接从脚本编辑器运行,也可以分配给菜单、工具栏或快捷键,以便随时应用于当前文档(例如 PCB)。
► 阅读有关 Altium Designer 中的脚本系统
创建和存储脚本
Altium Designer 脚本通常在脚本工程(*.PrjScr)中创建和存储,但也可以添加到或存储在任何类型的工程中。
要开始编写脚本,请先创建一个新的脚本工程,并向该工程添加脚本文件。
脚本工程有助于管理脚本,可通过从主菜单中选择 File » New » Project » Script Project 来创建。新工程将列在 Projects 面板中。要向工程添加新脚本,请右键单击工程名称,并从右键菜单中选择 Add New to Project。
创建新脚本时,可以根据工程需求选择两种脚本类型:脚本单元和脚本窗体。脚本单元允许您编写独立的过程和函数。脚本窗体则允许您构建包含控件、事件处理程序以及过程和函数的对话框。
► 阅读有关 在 Altium Designer 中创建和存储脚本
编写脚本
编写脚本时,需要了解以下基本概念和术语:
-
进程是可用于在脚本中执行命令的命令字符串。
-
组件是 Tool Palette 面板上的可视化控件对象,您可以将其拖放到脚本窗体上,以操作设计。
-
放置在脚本窗体上的组件具有方法、属性 和事件。
-
对象接口是特殊的对象接口,可用于通过脚本提取和修改设计文档中的数据。
默认脚本语言设置为 DelphiScript(*.pas)。脚本引擎本身使用 Embarcadero Delphi 编写,Tool Palette 面板则基于 Delphi 的 VCL(可视化组件库)。
► 阅读有关 在 Altium Designer 中编写脚本
脚本编辑和调试工具
Altium Designer 脚本系统由两个主要部分组成:编辑器和调试器。编辑器提供一系列脚本代码辅助和检查功能,调试器则提供对脚本组件和调试功能的访问。脚本编辑器工具是调试脚本时的重要工具。
脚本系统提供了一系列工具来帮助调试脚本,包括在脚本中设置多个断点、使用 Watch List 面板监视变量值、使用书签更高效地跳转,以及使用单步进入和单步跳过功能跟踪脚本的执行。
► 阅读有关 Altium Designer 中的脚本编辑工具
► 阅读有关 在 Altium Designer 中调试脚本
运行脚本
Altium Designer 脚本系统支持为 Altium Designer 创建复杂的自动化任务,同时,创建的脚本也需要在设计过程中能够方便地访问。例如,为在 PCB 编辑过程中执行一组复杂操作而创建的脚本,应当可以直接在 PCB 编辑器中方便地调用,只需点击一两次鼠标即可执行。
为此,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 的可视化组件库(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 对象模型,本文从功能角度分析两个示例项目:板框复制器和网表生成脚本。Board Outline Copier 和 Netlister 脚本使用 X2 对象模型开发,旨在展示 Altium Designer 脚本系统的功能。
这些现有脚本可从 Altium 提供的示例下载包 中获取。请注意,此 ZIP 文件是在 Altium Designer 10 发布时创建的。ZIP 文件中的 Scripts 文件夹包含按脚本语言分类的子文件夹。
请注意,您可以在 Altium Designer GitHub 集合中找到各种实用脚本。
► 阅读有关在 Altium Designer 中分析脚本示例
► 阅读有关 Altium Designer 脚本示例参考
脚本语言支持
您可以使用多种脚本语言为 Altium Designer 编写脚本。请注意,主要的脚本语言,也是脚本文档中最常提及的语言,是 DelphiScript,它与 Embarcadero Delphi™ 密切相关。
► 阅读有关 Altium Designer 中的脚本语言支持






