RoboDK插件是针对RoboDK软件的功能扩展模块,用户可以为特定操作或场景自定义工具。第三方开发者可轻松创建插件,为RoboDK软件增添新功能。
RoboDK支持自定义添加RoboDK插件,以便于执行某些特定的任务。
Note:访问插件市场,浏览需要的插件。任何人都可以创建 RoboDK 插件,包括RoboDK和第三方公司或开发人员。

插件是能够扩展RoboDK功能的软件模块,通过提供额外工具、特性或功能来实现。
RoboDK的插件有:
1.用户自定义脚本,用于自动化重复性任务。
2.附加仿真功能或库(作为库的插件)。
3.可与其他软件工具或硬件设备集成的应用程序。
插件通过RoboDK API进行开发,该API提供了一系列可用于与RoboDK软件交互的函数和类。此API支持多种编程语言,包括Python、C++、C#和MATLAB。
插件一旦创建完成,便可以加载到RoboDK中,用户既可通过主界面访问,也能通过自定义菜单或按钮调用。这使得用户能够根据特定需求和工作流程定制RoboDK,并实现复杂任务或流程的自动化处理。
Add-in Manager是RoboDK中的一款工具,用户可通过它安装、管理和配置RoboDK插件。实际上,Add-in Manager本身就是一个RoboDK插件!
Note:Add-in Manager已取代所谓的App Loader插件,因其不仅涵盖后者的全部功能,还支持通过用户界面编辑应用程序。

Add-in Manager通过提供完整的用户界面简化了安装、更新和导出插件的流程,用户可在此界面浏览可用插件、启用或禁用插件、管理依赖项、查看每个插件的详细信息,并将其打包以供部署。
要使用Add-in Manager,必须首先在 RoboDK 设置中启用Add-in Manager插件:
1.选择工具➔插件 (Shift+I)
2.如果Add-in Manager插件未启用,需要双击加载红色圆点启用该插件。
3.选择工具➔ Add-in Manager (Shift+A)

Add-in Manager界面划分了五个区域:

1.左侧窗格按类型(应用程序、后处理器、机器人驱动器等)对插件进行分类。通过分类查找让你更容易找到需要的插件。
2.上方的工具栏用于控制插件列表的显示模式、排序和按名称或描述搜索插件。它还包含一个按钮,用于更新已安装插件的列表或立即禁用所有插件。

3.中间是主区域,以列表或表格(详细信息视图)的形式显示插件。

4.左侧的说明区域,包含所选插件的类型、当前状态和位置、说明和文档链接等信息。
5.下方的面板包含用于执行辅助功能的按钮:打开Add-in Manager设置、运行插件创建器、打开 RoboDK 插件市场、安装新插件或关闭窗口。
可以通过右键单击列表或表格中选定的插件来打开菜单。在列表模式下,也可以点击 "Actions"按钮打开菜单。

●Enable/Disable:启用或禁用插件。该菜单项的类似功能是列表模式下的启用/禁用按钮或表格模式下的双击。
●Reload:强制插件管理器重新读取该插件的所有配置文件(清单)。当插件文件在磁盘上被修改时,此功能在极少数情况下非常有用。
●Terminate sub processes:终止属于该加载项的所有正在运行的应用程序。此功能仅适用于类型为App的加载项。
●Edit...:将插件资产和清单载入插件创建器,以创建插件的衍生版本。
●Install requirements...:为应用程序类型的插件安装附加模块。如果你在安装插件时拒绝安装所需的模块,可以通过此菜单项启动自动安装过程。
●Create package...:打开插件创建向导,从现有的遗留应用程序中创建 RoboDK 包(.rdkp 文件)。
●Uninstall:禁用该插件并将其从磁盘中彻底删除。
安装新插件,可以通过点击面板右下方的"Install...",然后在打开的文件夹中搜索.rdkp 文件。也可以将文件从文件夹拖放到Add-in Manager窗口完成加载文件。

在安装插件之前,Add-in Manager会询问你所需的插件位置。

●Current user storage 将插件安装到系统上运行的当前用户的文件夹中。如果插件只能供一个用户使用,或者当前用户的访问权限不足以将插件安装到 RoboDK 文件夹中,则此选项非常有用。
●RoboDK global storage会将插件安装到主程序文件夹中。这种情况下,该插件将对计算机上的所有用户可用。如果当前用户没有对RoboDK文件夹的写入权限,尝试安装到全局存储可能会失败。
RoboDK 插件接口是一个应用程序接口,允许用户使用 C++ 编程语言和 Qt 库为 RoboDK 创建自定义插件。
Note:创建新插件的技术文档可从以下链接获取: https://robodk.com/doc/en/PlugIns/index.html。
插件接口提供了一系列C++类和函数,可用于与RoboDK交互,包括创建自定义菜单、工具栏和对话框的能力,并通过添加新工具、功能或特性来扩展RoboDK的功能。
开发者可利用插件接口创建与其他软件工具或硬件设备集成的插件,或在RoboDK内部实现复杂任务与流程的自动化。插件可编译为动态链接库(DLL),在运行时加载至RoboDK,从而实现便捷的安装与分发。
总体而言,C++版RoboDK插件接口为开发者提供了强大而灵活的方式,能够根据特定需求和工作流程来扩展和定制RoboDK的功能。
RoboDK应用程序(Apps)是一种插件类型,旨在提供特定功能或工作流程,并能轻松定制和共享,从而为特定用途定制RoboDK用户界面。
例如,一个RoboDK应用程序可能用于生成特定类型的机器人程序,或与特定硬件/软件进行交互。
RoboDK应用程序通常是基于RoboDK Python API开发的Python脚本,并打包为独立的.rdkp文件。这类插件可便捷地在不同计算机间共享。安装后,用户可通过主工具栏、自定义菜单或界面中的按钮访问这些应用程序。
任何开发者均可利用RoboDK API开发应用程序,并将其分发给其他RoboDK用户。这一机制既方便用户发现和安装新应用,也帮助开发者通过定制工具和工作流程触达更广泛的受众。
应用程序(Apps)是为特定应用场景定制RoboDK用户界面的最便捷方式。您只需通过一个或多个Python脚本即可轻松创建专属应用,从而自定义工具栏并实现任务自动化。
Note:请阅读创建插件文档,了解有关如何使用此工具创建插件的更多详情。
创建步骤:
1.获取模板:从GitHub上的RoboDK插件库下载应用程序模板或示例,在本地创建新文件夹。
2.配置脚本:修改/添加/删除需作为应用功能的Python脚本。每个脚本将自动识别为独立功能项并显示在工具栏中(以下划线"_"开头的脚本文件除外)。
3.添加图标(可选项):可添加与脚本同名的图标文件(支持PNG/SVG/JPG格式),也可后续通过界面补充。
从此时开始,你可以在Add-in Manager底部选择Create Add-in,选择你创建的插件文件夹,然后按照Tip操作,就可以使用用户界面了。

或者,你也可以通过重命名文件,和自定义 AppConfig.ini 文件来手动配置应用程序
4.放置应用:将应用文件夹放入:C:/RoboDK/Apps/
5.打开Add-in Manager,在左侧栏点击Legacy Apps。
6.刷新:如果没有看到你的应用程序,请单击 "刷新"。
7.激活应用:双击你的应用程序以启用它,并在 RoboDK 用户界面中看到它。这将在你的应用程序文件夹中自动创建一个AppConfig.ini 文件。
8.定制界面集成:修改AppConfig.ini 文件,自定义应用程序与 RoboDK UI 的集成方式。每个脚本都会被自动检测为一个动作(除非以下划线开头)。默认情况下,所有操作都被置于RoboDK菜单和工具栏的新条目中。你可以自定义是否要在菜单、工具栏中查看每个动作/脚本,或将其作为一个或多个项目的上下文菜单选项。
9.实时预览:右键点击应用,选择Reload,即刻查看界面变更。
10.打包分发:最后,你可以选择 "创建软件包... "并按照说明将应用程序打包为RDKP 插件。你可以选择编译应用程序的代码。
你可以用 RoboDK 打开此 RDKP 文件,在任何装有 RoboDK 的计算机上安装此应用程序/插件。

Note:更多技术细节,参考GitHub的插件界面的应用程序和RoboDK API 文档的应用程序。
Tip:如果你是一家销售产品或服务的公司,并且你希望在RoboDK市场中列出你的插件,你可以通过联系我们向RoboDK提交你的插件。共享源代码并非必要条件。只需提供一个自述文件和清单文件即可。这将为你的公司、产品和服务提供知名度。请查看提交你的插件了解更多信息。
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:关键字(标签)列表,用于简化在插件市场中搜索插件的过程。
插件必须包含一个或多个资源文件(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:打开创建软件包的文件夹。
如果你希望其他RoboDK用户能够使用你的插件,可以将你的RoboDK插件提交至RoboDK应用市场进行展示。我们欢迎所有外部公司和开发者的提交。
你可以选择将你的插件上架销售或免费提供。无论选择哪种方式,都能为你的公司、产品及服务带来曝光机会。
请通过电子邮件联系我们以提交您的插件。以下信息将有助于RoboDK在RoboDK应用市场中正确列出你的插件:
1.插件描述文件(readme文件)。
2.清单文件(Manifest file),包括开发者网站、标价(如适用)等附加信息。
3.RoboDK插件包(RDKP 文件,由Add-in Creator创建)。
4.至少一张展示插件功能的图片或屏幕录像。
你可以参考RoboDK开源插件的示例,了解如何创建清单文件以及插件在RoboDK应用商店中的呈现效果。使用Add-in Manager可以创建或更新文件。
Note:提交RDKP文件时无需附带源代码,只需包含readme文件及插件演示内容即可满足上架要求。