Add-ins

A RoboDK Add-in is a custom extension that provides specific features to a certain application. Add-ins can be easily created by third-party developers to add new functionality to the RoboDK software.

RoboDK Add-ins allow customizing RoboDK software to automate certain tasks for specific purposes and facilitate generating programs.

Add-ins are essentially software plugins that can extend the functionality of RoboDK by providing additional tools, features, or capabilities. Some examples of RoboDK add-ins include:

1.User-defined scripts to automate repetitive tasks.

2.Additional simulation features or libraries (Plugins as libraries).

3.Apps that integrate with other software tools or hardware devices.

Add-ins are developed using the RoboDK API, which provides a set of functions and classes that can be used to interact with the RoboDK software. The API is available in several programming languages, including Python, C++, C#, and MATLAB.

Once an add-in is created, it can be installed in RoboDK and accessed from the main user interface or through custom menus or buttons. This allows users to customize RoboDK to their specific needs and workflows, and to automate complex tasks or processes.

Add-in Manager

The Add-in Manager is a tool within RoboDK that allows users to install, manage, and configure RoboDK add-ins. In fact, the Add-in Manager is a RoboDK add-in itself!

Add ins - Image 1

The Add-in Manager simplifies the process of installing, updating and exporting add-ins by providing a complete user interface where users can browse available add-ins, enable or disable them, manage dependencies, view detailed information about each add-in, and package them for deployment.

To use the Add-in Manager you must first enable the Add-in Manager plugin in the RoboDK settings:

1.Select ToolsAdd-ins (Shift+I)

2.Enable the Add-in manager plugin if it is not enabled.

3.Select ToolsAdd-in Manager (Shift+A)

Add ins - Image 2

User Interface

The Add-in Manager window contains five key areas:

Add ins - Image 3

1.The left pane categorizes add-ins by type (Apps, Post Processors, Robot Drivers, etc.). It's designed to let you find your favorite add-ins more easily.

2.The upper toolbar is intended for controlling the modes of displaying the list of add-ins, sorting and searching for add-ins by name or description. It also contains a button to update the list of installed add-ons or instantly disable all of them.

Add ins - Image 4

3.The main area displays add-ins as a list or a table (the details view).

Add ins - Image 5

4.The description area contains information about the type of selected add-in, its current status and location, a description and a link to documentation.

5.The lower panel contains the buttons for performing auxiliary functions: opening the Add-in Manager settings, running the Add-in Creator, opening the RoboDK Add-in Marketplace, installing a new add-in or closing the window.

Managing add-ins

An individual add-in is managed using the context menu, which can be called by right-clicking on the selected add-in in the list or table. In the list mode you can also press the Actions button to call the context menu.

Add ins - Image 6

Enable/Disable: enables or disables the add-in. The analog of this menu item is the Enable/Disable button in list mode or double-click in table mode.

Reload: forces the Add-in Manager to re-read all configuration files (manifests) of the add-in. This is useful in rare cases when the files of the add-in have been modified on disk.

Terminate sub-processes: terminates all running applications belonging to the add-in. This function is only available for add-ins of type App.

Edit...: loads the add-in assets and the manifest into the Add-in Creator to create a derivative version of the add-in.

Install requirements...: installs additional modules for add-ins of the App type. This menu item allows you to start the process of automatically installing the required modules in case you refused to do so when installing the add-in.

Create package...: opens the Add-in Creator wizard to create a RoboDK package (.rdkp file) from an existing Legacy App.

Open add-in location: opens an explorer window in the folder where the add-in files are located.

Uninstall: disables the add-in and completely removes it from the disk.

Installing new add-in

Installing a new add-in is done by clicking the Install... button on the bottom panel and then searching for the .rdkp file on disk. It can also be done by drag-and-dropping the file from a folder to the Add-in Manager window.

Add ins - Image 7

Before installing the add-in, the Add-in Manager will ask you for the desired location of the add-in.

Add ins - Image 8

Current user storage installs the add-in to one of the folders of the current user running on the system. This option is useful if the add-in should be available to only one user or if the current user has insufficient access rights to install add-ins to the RoboDK folder.

RoboDK global storage installs the add-in to the main program folder. In this case, the add-on will be available to all users working on the computer. An attempt to install to the global storage may fail if the current user does not have write permissions to the RoboDK folder.

Plug-in Interface

The RoboDK Plug-In Interface is an API that allows users to create custom plug-ins for RoboDK using the C++ programming language and Qt libraries.

The Plug-In Interface provides a set of C++ classes and functions that can be used to interact with RoboDK, including the ability to create custom menus, toolbars, and dialog boxes, and to extend the functionality of RoboDK by adding new tools, features, or capabilities.

Developers can use the Plug-In Interface to create plugins that integrate with other software tools or hardware devices, or to automate complex tasks or processes within RoboDK. Plugins can be compiled as dynamic-link libraries (DLLs) that can be loaded into RoboDK at runtime, allowing for easy installation and distribution.

Overall, the RoboDK Plug-In Interface in C++ provides a powerful and flexible way for developers to extend and customize the functionality of RoboDK to their specific needs and workflows.

Apps

RoboDK Apps are a type of add-in that is designed to provide a specific set of functionality or workflow that can be easily customized and shared to customize the RoboDK user interface for specific purposes.

For example, a RoboDK App might be designed to generate a specific type of robot program, or to interface with specific hardware or software.

RoboDK Apps are typically Python scripts that use RoboDK Python API and are packaged as standalone files (rdkp files). Apps (Add-ins) can be easily shared among different computers. Once installed, RoboDK Apps can be accessed from the main toolbar or from custom menus or buttons within the RoboDK user interface.

RoboDK Apps can be developed by anyone using the RoboDK API and can be distributed or shared to other RoboDK users. This makes it easy for users to discover and install new Apps, and for developers to reach a wider audience with their custom tools and workflows.

Create your RoboDK App

Apps are the easiest way to customize the RoboDK UI for specific applications. You can easily create your own app from one or more Python scripts, this allows you to customize the toolbar and automate certain tasks within the RoboDK software.

Follow these steps to create your App:

1.Take the App template or any App example from the RoboDK Plugin repository on github and create a new folder on your computer.

2.Modify, add, or remove the scripts you want to use as actions for your app. Each script will be automatically recognized as a new action and will appear on the toolbar (unless the script file starts with underscore).

3.You can optionally add icons with matching file names. Supported icon formats include PNG, SVG and JPG. You can also add or customize the icons later.

From this point forward you can use the user interface by selecting Create Add-in at the bottom of the Add-in manager, selecting the add-in folder you created and follow the instructions.

Add ins - Image 9

Alternatively, you can configure the App manually by renaming the files and customizing the AppConfig.ini file:

4.Place your App in this folder: C:/RoboDK/Apps/

5.Open the Add-in Manager and select the Legacy Apps tab.

6.Click on Refresh if you don’t see your App listed.

7.Double click on your App to enable it and see it in the RoboDK user interface. This will automatically create an AppConfig.ini file in the folder of your App.

8.Modify the AppConfig.ini file to customize how your app integrates with the RoboDK UI. Each script is automatically detected as an action (unless it starts with an underscore). All actions are placed in a new entry in the RoboDK menu and the toolbar by default. You can customize if you want to see each action/script in the menu, the toolbar and/or as a context menu option for one or more items.

9.Right click on you App and select Reload to see your changes reflected in the RoboDK UI.

10.Finally, you can pack your App as an RDKP Add-in by selecting Create package… and follow the instructions. You can optionally choose to compile the code of your App.

You can install this App/Add-in on any computer with RoboDK by opening this RDKP file with RoboDK.

Add ins - Image 10