使用脚本自动完成设计任务
脚本是使用 Altium Designer 提高功能和工作效率的强大方法。脚本包含一组指令(自动命令),在 Altium Designer 中执行时会对其进行解释。脚本可以用多种语言编写,配有复杂的对话框,并可在 Altium Designer 中进行调试。您可以使用脚本,以最少的用户输入、更少的键盘和鼠标点击来实现您的设计目标。
使用脚本,您可以自动执行重复性任务,并执行 Altium Designer 中现有命令无法执行的编辑。例如,您可以使用脚本搜索和更新 PCB 文档上的靶标,或导出自定义网表。
脚本可以保存在脚本项目或设计项目中。在 Altium Designer 中,有多种脚本语言可用于编写脚本。
脚本系统概述和设置
Altium Designer 脚本系统提供创建脚本所需的所有工具和功能,可自动执行软件中的任务。
编写脚本可自动执行重复性任务或增强 Altium Designer 中的某项功能。脚本系统由两个主要部分组成:编辑器和调试器。脚本编辑器、调试器和脚本面板协同工作,帮助您轻松编写和调试脚本。脚本可以直接从脚本编辑器运行,也可以分配给菜单、工具栏或热键,以便随时应用于当前文档(如 PCB)。
创建和存储脚本
Altium Designer 脚本通常创建并存储在脚本项目 (*.PrjScr
要开始编写脚本,首先要创建一个新的脚本项目,并将脚本文件添加到该项目中。
脚本项目可以帮助你管理脚本,可以通过从主菜单中选择
创建新脚本时,可根据项目要求选择两种脚本类型--脚本单元和脚本窗体。脚本单元允许你编写独立的程序和函数。脚本窗体允许你创建带有控件和事件处理程序以及程序和函数的对话框。
►阅读关于在 Altium Designer 中创建和存储脚本
编写脚本
有许多基本概念和术语适用于编写脚本:
-
进程(Processes)是命令字符串,可用于执行脚本中的命令。
-
组件是面板上的可视化控制对象。
Tool Palette 面板上的可视化控制对象,您可以将其拖放到脚本窗体上,从而对设计进行操作。 -
放置在脚本窗体上的组件具有方法、属性和事件。
-
对象接口是一种特殊的对象接口,可用于从脚本中提取和修改设计文档中的数据。
默认的脚本语言设置为 DelphiScript (*.pas
脚本编辑和调试工具
Altium Designer 脚本系统由两个主要部分组成--编辑器和调试器。编辑器提供一系列脚本代码帮助和检查功能,调试器提供脚本组件和调试功能。脚本编辑器工具是调试脚本时的重要工具。
脚本系统中有一系列工具可帮助调试脚本。这些工具包括在脚本中应用多个断点、使用
运行脚本
Altium Designer 脚本系统提供了为 Altium Designer 创建复杂的自动化任务的方法,所生成的脚本也需要在设计过程中易于访问。例如,在编辑 PCB 时,为执行一系列复杂操作而创建的脚本应在 PCB 编辑器中随时可用,只需点击一两下鼠标即可执行。
Altium Designer 允许将脚本分配给进程启动器,从而将命令分配给菜单、工具栏和快捷方式。
在脚本编辑器中打开脚本时,可使用编辑器的
访问常用脚本的一个更合适的方法是将项目安装为全局项目。
►阅读有关在 Altium Designer 中运行脚本的信息
图形组件脚本
可用于 Altium Designer 脚本的可视化窗体组件大多来自于 Embarcadero 的 Visual Component Library (VCL),它是使用 Delphi 和 C++ 语言开发 Windows 应用程序的可视化组件集合。
作为一个可视化类库,VCL 类源于 TComponentTObjectTButtonTObject → TPersistent → TComponent → TControl → TWinControl → TButtonControl → TButton
请注意,从 TControlTWinControl
在 Altium Designer 脚本编辑器中创建表格时,可从 *.DFM
脚本示例
为了进一步了解脚本系统的一般方面,以及 Delphi 和 X2 对象模型在脚本中的使用,我们将从功能角度对两个示例项目--电路板大纲复制器和网表生成脚本--进行检查。电路板大纲复制器和网表脚本使用 X2 对象模型开发,以说明 Altium Designer 中脚本系统的功能。
这些脚本是示例脚本集中现有的脚本。ZIP 文件中的脚本文件夹包含按脚本语言分类的子文件夹。
请注意,您可以在Altium Designer GitHub 套件中找到大量有用的脚本。
脚本语言支持
Altium Designer 可以使用多种脚本语言编写脚本。请注意,脚本文档中提及最多的主要语言是 DelphiScript,它与 Embarcadero Delphi™ 紧密相关。






