Add-in Creator工具可帮助你轻松创建及修改RoboDK的插件包。该工具集成于Add-in Manager中。
打开方式:通过菜单栏选择工具-Add-in Manager,然后单击Add-in Manager底部的Create Add-in按钮,即可打开Add-in Creator。

打开插件创建向导后,你可以选择以下选项:
●Create new add-in from scratch:这将生成全新的RoboDK插件包(.RDKP文件)。
●Create new add-in from folder or legacy application:指定插件文件所在路径进行转换。勾选Do not create a package选项可直接编辑文件夹内的插件文件,无需打包。
●Modify existing add-in:打开已有的RoboDK插件包进行编辑并生成新版本。
你可通过填写基础信息(如类型、名称、作者信息等)快速创建新插件。

Add-in Creator工具窗口中,加粗字段为必填项,共5项:
1.Type:插件类型,如应用程序(App)、机器人驱动器(Robot Driver)、语言包等。
2.Name:插件名称。
3.Unique Identifier:属于此特定插件的唯一标识符。该字段旁的复选框允许你激活编辑模式并设置任意标识符,标识符可包含拉丁字母、数字和其他字符,如减号、点、下划线。该插件的唯一ID。勾选右侧复选框可手动编辑,允许使用拉丁字母、数字及连字符(-)、点(.)、下划线(_)。
Note:推荐采用 domain.company.type.name 格式(如com.example.robot.welder)。虽支持其他形式,但建议遵循此规范。
4.Versions:需符合语义化版本格式(主版本号.次版本号.修订号,如1.0.0)。
5.Revision:插件修改次数,从1开始递增。
其余为选填项,用于完善插件描述:
6.Author:个人姓名或公司/团队名称(多人协作时)。
7.Company:公司名称。
8.Language:插件使用的语言。列出了IETF BCP 47 标准中的所有语言。
9.Content Status:开发阶段,例如正式版(Final)、内测版(Internal Testing)、测试版(Beta)等。
10.Description:插件简介。
11.Modified by:当有人修改了另一位作者的插件,并希望作为修改作者被提及时,可以使用此字段。
12.Created:插件第一个版本的创建日期(自动生成的)。
13.Modified:插件修改日期(自动生成的)。
14.Email:用于销售、支持或反馈的电子邮件地址。
15.Website:贵公司(插件开发商)的网站。
16.Documentation Link:指向插件文档的链接。
17.Repository Link:对于开源插件,指向插件所在的 GitHub 代码库或其他公共代码库的链接。
18.Keywords:关键字(标签)列表,用于简化在插件市场中搜索插件的过程。
插件依赖项页面允许您定义在安装插件(或其中特定文件)之前必须满足的条件。如果某项检查失败,受影响的范围(整个软件包或单个文件)将在安装过程中被跳过。

使用页面顶部的按钮来管理条目:
Add(添加):创建一个具有默认值的新依赖项行。点击该行中的每个单元格即可进行配置。
Remove(移除):删除当前选中的行。请先点击某行以选中它。
每个依赖项行包含五列。以斜体灰色显示的字段表示未设置或可选的值。
Package(软件包):如果检查失败,整个插件将不会被安装。当插件在该条件未满足时完全无法运行时,请使用此选项。
Asset(资源):如果检查失败,仅跳过“标识符/文件名”列中指定的那一个文件,插件的其余部分将正常安装。
对于范围为 Asset(资源)的依赖项,Name(名称)列具有特殊作用:它定义了一个依赖项分组。多行使用相同的名称时,会针对同一个资源文件依次进行评估。
当某个文件需要在不同条件下安装时,这非常有用——例如,为 Windows 提供一个版本的文件,为 Linux 提供另一个版本。整个分组作为一个整体进行评估;只要分组中有一行检查通过,该资源就会被包含在内。
如何输入 Value(值)取决于依赖项的类型:
Version Check(版本检查):使用数学区间表示法(参阅版本范围)。
File Created / File Modified(文件创建/文件修改):从三种日期/时间模式中选择(参阅日期和时间值)。
其他所有类型: Value(值)字段在编辑时会提供一个下拉菜单,包含两个选项:
Exact value(精确值):如果系统值与您输入的内容匹配,则检查通过(比较不区分大小写)。
Regular expression(正则表达式):如果系统值匹配您提供的模式,则检查通过。
版本值使用标准的数学区间表示法:
方括号 [ 或 ] 表示边界版本包含在范围内。
圆括号 ( 或 ) 表示边界版本不包含在范围内。
省略上限或下限表示该方向没有限制。
文件的日期/时间检查不使用区间表示法。
而是需要从以下三种模式中选择其一:
Exact(精确):文件的时间戳必须与指定的日期/时间完全匹配。
Before(早于):文件的时间戳必须早于指定的日期/时间。
After(晚于):文件的时间戳必须晚于指定的日期/时间。
类型 | 描述 |
None(无) | 不执行任何检查——该依赖项始终视为已满足。可用作占位符。 |
Version Check(版本检查) | 检查所选软件组件的版本是否落在指定范围内。 标识符:选择要检查的软件:RoboDK、Add-in Manager、Qt Framework 或操作系统。 值:使用区间表示法的版本范围(参阅版本范围)。 |
CPU Architecture(CPU 架构) | 检查系统处理器架构是否与预期值匹配。 值:预期的 CPU 架构字符串,例如 x86_64、arm64 或 i386。支持精确匹配或正则表达式。 |
Build Architecture(构建架构) | 检查正在运行的构建版本的完整应用程序二进制接口(ABI)字符串。这比 CPU 架构更详细,包含编译器、数据模型和字节序信息。 值:例如 x86_64-little_endian-lp64。支持精确匹配或正则表达式。 |
Kernel Type(内核类型) | 检查底层操作系统内核标识符。 值:例如 winnt(Windows)、linux、darwin(macOS)。支持精确匹配或正则表达式。 |
System Check(系统检查) | 检查操作系统自身报告的产品名称。 值:例如 windows、ubuntu。支持精确匹配或正则表达式。 |
File Version(文件版本,仅限 Windows) | 读取嵌入在 Windows 可执行文件或库(.exe 或 .dll)中的版本资源,并使用值或表达式进行比较。 值:例如 1.4.3.3123,支持精确匹配或正则表达式。 |
File Created(文件创建时间) | 检查指定文件的创建时间戳。 标识符/文件名:要检查的文件路径。 值:带模式的日期/时间:Exact(精确)、Before(早于)或 After(晚于)(参阅日期和时间值)。 |
File Modified(文件修改时间) | 检查指定文件的最后修改时间戳。 标识符/文件名:要检查的文件路径。 值:带模式的日期/时间:Exact(精确)、Before(早于)或 After(晚于)(参阅日期和时间值)。 |
插件必须包含一个或多个资源文件(Assets),例如脚本和图标,这些资源决定了插件的功能和行为。

Add-in Assets页面分为三个功能区:
1.包图标选择区:设置插件的显示图标。
2.文件树区:管理插件包含的所有文件(如脚本、配置文件等)。
3.文件内容预览区:查看选中文件的内容。
本页按钮和复选框的用途:
●TargetPath:目标路径按钮会打开当前图标文件的属性窗口,并允许你设置目标属性(请参阅软件包内部的相应章节)。
●Change icon…更改图标按钮允许你用新图标替换当前软件包图标。
●Remove Icon 移除图标按钮会删除当前软件包的图标,并设置与正在创建的软件包类型相对应的默认图标。
●New Folder新建文件夹按钮可在选定的文件树分支中创建一个新的子文件夹。
●Add Asset....新建文件夹按钮可将新文件添加到文件树的选定分支中。
●Remove删除按钮可从文件树中删除所选项目,锁定的项目除外。
●Make Python Package 生成Python包复选框可将 __init__.py 文件添加到项目中,这样 Python 解释器就能将项目文件作为外部可加载模块使用。
Note:此选项仅在创建App类型插件时显示。
Python脚本可标记为后续编译成.pyc文件(优化执行速度),编译过程将在向导的下一页显示。

Target Path:目标路径字段允许你为每个文件设置目标属性。你可以手动输入所需的路径和变量名,也可以在单击目标上的齿轮按钮时调用属性窗口:

文件属性对话框允许你设置目标属性值,并提供可用变量的便捷列表。此外,还可以定义部署文件的目标平台参数(操作系统类型和版本、CPU 型号)。

当你在添加插件资源时选择了至少一个Python脚本,将会打开Python Compilation页面。

编译将由所有可用的Python解释器执行。可用及已使用的解释器列表可在Add-in Manager设置窗口中编辑。编译过程本身无需用户干预,页面会显示详细的编译日志以便捕捉潜在问题。
Important:通过编译脚本可以轻松混淆应用程序的源代码。但若需妥善保护知识产权,建议探索使用Cython等其他编译方式,将Python脚本转换为pyd文件或可执行文件。此外,也可采用自定义可执行文件作为操作项。
App Configuration (应用程序配置)页面允许用户自定义操作或脚本如何从RoboDK用户界面(菜单和工具栏)链接。如果用户正在创建应用程序类型的插件,你将看到应用程序配置窗口。”

本页参数用于定义AppConfig.ini文件的内容。本页列出了所有可能的键值及其对应取值。每个应用程序在RoboDK中都有专属菜单和工具栏,这些菜单项与工具栏按钮在应用程序术语中统称为" Actions "。你可自定义动作的显示条件、菜单排序规则,并为动作分配快捷键。
基本参数集包括:
●Menu Name:菜单名称,RoboDK 主菜单条目名称。
●Visible:可见,取消选中该复选框,可防止菜单显示在 RoboDK 的主菜单中。
●Parent Menu:父菜单,选择将为其创建App 子菜单的主菜单项,或选择主菜单创建新的主菜单项。
●Priority:优先级,设置优先级,决定本应用程序菜单与其他应用程序菜单的显示顺序(低者优先)。
●Toolbar Area:工具栏区域,应用程序工具栏在 RoboDK 主窗口上的位置(侧面)。
●Toolbar Scale:工具栏比例,工具栏图标与当前 RoboDK 工具栏图标大小的比例。
●Commands:命令,激活插件时将执行的 RoboDK API 命令。
对于与AppConfig.ini文件同目录下的每个Python脚本,系统都会创建一个对应的操作项。若该脚本属于辅助性质,可通过Visible属性隐藏此类操作项。
操作属性:
●Name:名称,菜单和工具栏中显示的操作名称。
●Description:描述,当鼠标指针悬停在菜单项或工具栏按钮上时的工具Tip文本。
●Priority:优先级,与本应用程序其他操作相比,该操作的显示顺序(低者优先)。
●Shortcut:快捷方式
●Visible:可见
●Developer Only:仅开发者模式,只有当 RoboDK 切换到开发者模式(Ctrl+Alt+Shift+G)时,才会显示此操作。
●Show in Menu:在菜单中显示
●Show in Toolbar:在工具栏中显示
●Checkable:可检查,创建一个可检查的操作,可检查操作也可按数字分组。
●Context Menu Filter:上下文菜单筛选器,定义将此操作添加到上下文菜单的 RoboDK 树元素类型。
●Double-Click Filter:双击过滤器,定义双击时将调用此操作的 RoboDK 树元素类型。
创建插件的过程通过将RoboDK包构建为RDKP文件完成。这是创建插件的最后一步。

在最后阶段,也就是创建软件包之前,可以使用以下选项:
●Encrypt package:加密包,对文件进行加密,使其可以轻松通过电子邮件发送,绕过威胁检测系统(谷歌邮件服务直接禁止在附件中传输可执行文件和 Python 脚本)。
●Install after building:让Add-in Manager安装新创建的软件包。
●Open containing folder:打开创建软件包的文件夹。