运行脚本

Altium Designer 脚本系统提供了为 Altium Designer 创建复杂的自动化任务的方法,但生成的脚本也需要在设计过程中易于访问。例如,在编辑 PCB 时,为执行一系列复杂操作而创建的脚本应在 PCB 编辑器中随时可用,只需点击一两下鼠标即可执行。

Altium Designer 为满足这一需求,允许将脚本分配给进程启动器,从而将命令分配给菜单、工具栏和快捷方式。

执行脚本

在脚本编辑器中打开脚本后,可使用编辑器的 Run » Run 命令(快捷方式: F9).命令所引用的当前脚本将被运行。 Run » Set Project Startup Procedure命令所引用的当前脚本将被运行。

如果 Set Project Startup Procedure命令尚未设置,则会出现 Select Item To Run对话框会出现,提示您选择要执行的脚本及其过程。

如果脚本出现错误,脚本将被停止,您可以使用各种调试命令来解决错误并尝试重新运行。

Run 命令要求在 Altium Designer 中打开脚本项目,这对于访问 PCB 设计过程中所需的脚本并不方便。另一种方法是 Select Item To Run对话框 (File » Run Script) 允许您浏览本地硬盘驱动器或连接的工作区中的脚本,或选择在 Projects面板中打开的脚本,然后运行所需的程序。脚本在当前会话中保持加载状态。

使用脚本进程启动器通过 Select Item to Run对话框执行脚本。使用脚本进程启动器通过 Select Item to Run对话框执行脚本。

如果脚本中存在错误,单击 OK对话框中的 Select Item To Run对话框后,将打开一个错误对话框,提醒您存在错误。对话框将给出错误信息,并打开源脚本文档,突出显示出错的脚本行。单击 OK按钮关闭该对话框,然后从主菜单中选择 Run » Stop命令(快捷键: Ctrl+F3).

错误对话框只会标记遇到的第一个脚本错误。可能会有更多的错误存在,这些错误会在后续运行脚本时发现。

访问常用脚本的更合适方法是将项目安装为 Global Project对话框脚本系统 - 全局项目页面中安装该项目。 Preferences对话框中的 "脚本系统 - 全局项目 "页面安装项目。在这种情况下,项目会在 Altium Designer 启动时自动加载,并可随时通过 File » Run Script命令执行该项目。

不过,访问脚本功能的理想方式是将其作为菜单或工具栏命令集成到 Altium Designer 的图形用户界面中。这通常需要两个步骤:将脚本作为命令(可选快捷方式)执行,然后将命令分配到菜单(静态或弹出)或工具栏。

作为命令的脚本

脚本可以通过 Altium Designer 内置的服务器进程,或者更具体地说,通过 ScriptingSystem:RunScript进程。

命令代表一个已执行的操作,并由进程字符串通过打包的进程启动器提供支持。对于 ScriptingSystem:RunScript进程,它包括用于指向特定脚本项目文件、组成脚本文件 (*.pas)和该脚本中的进程的参数。经过适当排列后,这些元素就构成了一个命令字符串。

这种方法的优点是,将脚本作为一个进程运行可以避免直接打开脚本或将其作为全局项目加载。使用进程方法运行脚本的第二个也是更重要的优势是,它可以作为一个可访问的 Altium Designer 命令来实现。这可以通过定制 Altium Designer 的菜单系统来实现,在该系统中,脚本可以分配给指定服务器的命令,即文件系统或设计文档编辑器等子应用程序。

创建命令

例如,要将 HelloWorld 脚本指定为 PCB 编辑器的命令,首先要打开一个 PCB 文档(也就是编辑器),然后从主菜单中选择 View » Tools » Customize打开 "自定义 PCB 编辑器 "对话框。也可以右键单击菜单栏或工具栏,然后从下拉菜单中选择 Customize 或双击菜单栏或工具栏的空白区域(远离任何命令),也可访问该对话框。

要创建新命令,请单击对话框的 New 按钮打开 Edit Command对话框,服务器进程和脚本路径的详细信息可在此包含 - 确保在创建命令时未选择类别。 [Scripts]类别。

对话框的 Action条目的形式:

Process: ScriptingSystem:RunScript
Parameters: ProjectName|ProcName>Process

根据脚本的源路径,字符串类似于 Parameters字符串类似于

ProjectName=C:\Users\Public\Documents\Altium\Delphiscript Scripts\General\HelloWorld.PRJSCR|ProcName=HelloWorld.pas>HelloWorld

对于托管在工作区中的脚本项目,路径以及命令参数条目必须指向正确的工作区位置--该位置基于工作区脚本的 GUID 引用。因此,必须获得该参考链接 before尝试创建新的脚本命令条目。要为从工作区安装的脚本获取正确的参数,请打开 Select Item To Run对话框 (File » Run Script) ,右键单击脚本中的所需过程,然后从上下文菜单中选择 Copy script parameters命令。这将把整个路径、进程名称和过程复制到剪贴板。

在工作区脚本项目中选择所需的进程/过程,然后复制脚本参数。
在工作区脚本项目中选择所需的进程/过程,然后复制脚本参数。

Edit Command对话框还提供了命令标题、说明、快捷方式和相关位图图像(BMP/GIF/PNG;18 x 18 像素)的输入字段。这些设置将与命令一起保存,并适用于在菜单、工具栏和弹出窗口中插入该命令的所有情况,详情请参阅下文的 "分配菜单命令 "部分。

所需的参数可从实际脚本条目中复制。 [Scripts]类别下的实际脚本条目中复制所需的参数。 Customize PCB Editor对话框中类别下的实际脚本条目复制所需的参数。要临时加载脚本,请浏览并通过 File » Run Script命令打开该脚本。复制后,确保类别条目不再设置为 [Scripts]按钮创建命令。 New 按钮创建命令。

参见示例图片

随着细节的完成和编辑对话框的关闭 (),HelloWorld 脚本将作为自定义命令(位于 [Custom]下)。

请注意,命令是基于服务器执行的,因此为 PCB 编辑器创建的自定义命令(如上所述)将无法用于其他功能,如原理图编辑器或脚本系统。

使用 RunScriptFile 进程执行脚本

Altium Designer 的 DelphiScript 单元脚本(带 *.pas扩展名)可以使用 RunScriptFile进程执行脚本。请注意,只能使用 DelphiScript 单元脚本,而不能使用带有窗体的脚本。在这种情况下,对话框的 Action条目采用表单形式:

Process: ScriptingSystem:RunScriptFile
Parameters: FileName|ProcName

根据脚本文件的源路径,字符串将类似于 Parameters字符串类似于

FileName=C:\Users\Public\Documents\Altium\Delphiscript Scripts\Processes\ShowNetList.pas|ProcName=RunNetList

使用 RunScriptText 进程执行脚本

此进程可用于在 Begin End;块中执行一系列命令。在这种情况下,对话框的 Action条目的形式:

Process: ScriptingSystem:RunScriptText
Parameters: Text

例如,可以通过软件控制从 Altium Designer 启动 Microsoft Notepad 等外部应用程序。在这种情况下,命令进程和参数条目将为

Process: ScriptingSystem:RunScriptText
Parameters: Text=Begin RunApplication('notepad.exe'); End;

这种情况下的软件进程为 ScriptingSystem:RunScriptText实际上是在运行一系列脚本语句,而不是如上所述打开并运行一个特定的脚本文件。

另一种方法是创建一个包含几行等效代码的脚本,然后创建一个传统的 ScriptingSystem:RunScript命令条目。

程序 RunNotepad;
开始
    运行应用程序('notepad.exe');
结束;

请注意,这两种实现外部记事本命令的方法都只需输入 'notepad.exe'作为 RunApplication的参数输入''即可,而不必指定应用程序的完整路径和文件名。计算器和记事本等 Windows 应用程序的路径已由操作系统指定。

要从 Altium Designer 启动一个没有 Windows 固有路径的应用程序,需要指定应用程序的完整路径和文件名(使用单引号,以照顾到路径中的任何空白)。因此,要启动 Altium Designer 的第二个副本,例如 RunApplication进程和参数如下

RunApplication('C:\Program Files\Altium\xx\X2.EXE')- 其中 xx 代表 Altium Designer 版本文件夹名称。

在自定义对话框(本例中为 Customizing PCB Editor对话框)中使用对话框底部的按钮直接编辑、复制和删除命令。

分配菜单命令

通过 Altium Designer 的自定义功能 (View » Toolbars » Customize) 实现的脚本作为自定义服务器命令,可通过简单的拖放过程将其分配到服务器图形用户界面。

► 另请参阅 "自定义设计空间

工具栏

例如,要将自定义命令分配到 PCB 编辑器的主菜单或工具栏菜单,请打开 Customizing PCB Editor对话框,找到自定义命令并将其拖动到所需的菜单位置。请注意,需要打开 PCB 文档才能访问 PCB 编辑器菜单。关闭自定义对话框后,即可在 PCB 编辑器中随时访问新的菜单命令。

可将自定义命令拖到所需的菜单位置。
可将自定义命令拖到所需的菜单位置。

也可以使用菜单右键选项中的插入链接选项添加命令。

在本例中,新的自定义命令已被分配到 PCB 活动条上,因此可以在 PCB Active Bar命令类别下。 Customizing PCB Editor对话框中的命令类别下。

指定到菜单后,自定义脚本命令将出现在自定义对话框中该菜单的类别下。
指定到菜单后,自定义脚本命令将出现在自定义对话框中该菜单的类别下。

要从菜单中删除命令,请打开自定义对话框,然后将菜单命令图标拖回对话框。

删除分配给工具栏的命令。
删除分配给工具栏的命令。

在自定义模式下,也可以通过右键单击菜单命令本身来编辑和删除分配给菜单的命令。

菜单

在任何菜单深度,都可以使用上述拖放过程将自定义命令分配给菜单。

当服务器处于自定义模式时,菜单会保持对鼠标指针的响应,并相应地展开和收缩。例如,要在 PCB 编辑器的 Reports 菜单中,只需将该命令拖入菜单并下放到列表中合适的位置即可。关闭自定义对话框后,新的菜单命令--这里是记事本--可以从菜单内的 Reports 菜单。

自定义过程中的活动菜单允许将自定义命令拖入下拉菜单。
自定义过程中的活动菜单允许将自定义命令拖入下拉菜单。

弹出式菜单

可以用与上述相同的方式将命令分配到右键弹出菜单中,子菜单深度不受限制。

在此示例中,命令被拖过菜单路径中的 PCB Popups » Right Mouse Click Free Space的菜单路径拖动该命令,并将其拖放到子菜单中,如下图所示。分配后,右键单击空闲空间时,自定义记事本脚本命令就会出现在 PCB 编辑器中。

分配给右键子菜单的自定义命令
分配给右键子菜单的自定义命令

直接脚本分配

除了从脚本中创建一个可重复使用的自定义命令,然后将其分配到菜单外,还可以将脚本直接应用到菜单,这是一种快速、一次性的方法。

这种方法绕过了创建自定义命令的步骤,直接将加载的脚本分配给菜单。由于不存在匹配的自定义命令(可作为完全配置的命令应用于多个菜单),这种直接方法是脚本菜单访问的单一解决方案。因此,各种命令设置(如标题、说明、图像和快捷方式)只适用于指定的实例。

要将脚本直接分配到菜单,请加载脚本项目,打开服务器的 Customizing 对话框 (View » Toolbars » Customize) ,在类别列表中选择 [脚本],找到所需的脚本并将其拖到菜单位置。单击 以取消 Edit Command对话框。

也可以直接将脚本而不是命令指定到菜单上。
也可以直接将脚本而不是命令指定到菜单上。

与所有菜单放置一样,如果新菜单项仍为默认设置(标题名称、快捷方式等),可通过右键单击菜单项并从子菜单中选择 Edit 子菜单。这将打开 Edit Command对话框,可在其中输入适当的设置。

在自定义模式下,右键单击菜单可访问其参数。
在自定义模式下,右键单击菜单可访问其参数。

配置完成后,新菜单将可在设计时使用,无需再明确加载脚本项目或将其安装为全局项目。

请注意,这种将脚本应用到菜单的方法会自动创建所需的命令。这不是上述方法中描述的可重新分配的自定义、完全配置的命令,而是为该直接菜单条目创建的命令。

这可以从实际菜单类别条目中的 Customizing 对话框中的实际菜单类别条目中可以看到。在上述示例中,单独配置的命令可以在 Reports类别中。 Customizing PCB Editor对话框中的类别中。

直接将脚本应用到菜单时,只为该菜单条目创建匹配的命令。
直接将脚本应用到菜单时,只为该菜单条目创建匹配的命令。

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
功能可用性

您可使用的功能取决于您所选择的 Altium 解决方案 —— Altium DevelopAltium Agile(Agile Teams 或 Agile Enterprise 版本),或仍在有效订阅期内的 Altium Designer。

如果您在软件中未找到文中提及的功能,请联系 Altium 销售团队了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。

Content