RoboDK plugin for Rhino

RoboDK plugin for Rhino

The RoboDK plugin for Rhino allows you to combine Rhino’s parametric modeling with RoboDK for robot simulation and offline programming.

With the RoboDK plugin for Rhino you can easily load 3D models created in Rhino to RoboDK. This plugin allows you to program more than 30 different robot manufacturers and 300 robots directly from Rhino.

Robot programs can be generated directly from a group of curves, points, or CAM programs (such as APT files or G-code files). Robots can be easily programmed as 5-axis machines for a wide variety of manufacturing applications such as drilling, welding, trimming, 3D printing or robot machining. More information available in the robot machining section.

The robot post processors section shows a list of the robot brands and controllers supported. It is also possible to modify or create new post processors to customize program generation.

Video overview of the RoboDK plugin for Rhino: https://www.youtube.com/watch?v=oDM8EuQw5JA

Note: Read this Getting started guide if this is your first time using RoboDK.

The RoboDK plugin for Rhino works for Rhino 5 and Rhino 6. The RoboDK Rhino plugin is free, however, certain options in RoboDK require purchasing a license.

Plugin Rhino - Image 1

Install

Follow these steps to install the RoboDK plugin for Rhino:

Downloads:

1.    Download and install Rhinoceros.

2.    Download and install RoboDK.

3.    Download the RoboDK plugin for Rhino directly or from Food4Rhino.

4.    Unzip the files.

Double click the RoboDK.RUI installer file and follow the instructions to install the plugin. If this procedure fails, you can install the plugin manually.

The RoboDK plugin for Rhino contains Rhino Commands (starting with the prefix RoboDK_...), Grasshopper components and a Toolbar. Each button of the toolbar is linked to one RoboDK command.

Tip: To display the toolbar: Right click the toolbar, select Show Toolbar and select RoboDK, as shown in the following image. You can drag and drop the tabs to reorder them. On Rhino 6 you may find the RoboDK toolbar option at the end of the list.

Plugin Rhino - Image 2

Note: If you start RoboDK from the Rhino plugin it will change RoboDK’s default settings to match Rhino’s 3D mouse navigation and window style. This behavior can be modified from the Plugin settings window. Or by setting the default RoboDK settings.

Rhino Toolbar

The default toolbar provided for Rhino includes 5 buttons:

Plugin Rhino - Image 3

         Plugin Rhino - Image 4 Auto Setup – This button allows you to select any geometry (curves or points) and they will be loaded in RoboDK together with the 3D model. This button corresponds to the RoboDK_AutoSetup command.

         Plugin Rhino - Image 5 Load Part – Loads the 3D model from Rhino to RoboDK. Features such as curves or points won’t be loaded. This button corresponds to the RoboDK_Part2Robot command.

         Plugin Rhino - Image 6 Load Curve(s) – Load all the curves selected in RoboDK as a new item. All selected surfaces will be used to calculate curve normals. These normals are important as they will define the robot’s approach axis. This button corresponds to the RoboDK_Curve2Robot command.

         Plugin Rhino - Image 7 Load Point(s) – Load all the points selected in RoboDK as a new object. All selected surfaces will be used to calculate point normals. These normals are important as they will define the robot’s approach axis. This button corresponds to the RoboDK_Points2Robot command.

         Plugin Rhino - Image 8 Settings – Open the default default Settings window. This is the same settings window shown for each grasshopper component. This button corresponds to the RoboDK_SetDefaults command.

The main difference between Auto Setup and Load Curve(s) or Load Point(s) is that Auto Setup loads the part and creates a new Curve/Point follow project. Using Load Curve(s) or Load Point(s) is faster and will just update the existing geometry features in RoboDK, keeping previously defined settings.

Note: Each of the buttons correspond to one command. All RoboDK commands have the RoboDK_ prefix.

Note: If you want to load more than one object from Rhino you should rename the objects once they have been loaded in RoboDK.

Grasshopper Toolbar

The RoboDK plugin for Rhino includes with 3 Grasshopper components:

Plugin Rhino - Image 9

         Plugin Rhino - Image 10 Curve to robot (Crv2Rob) – Load a curve (C) or a group of curves in RoboDK. Optionally, one or more surfaces (S) can be provided to extract surface normals for each point in the curve.

         Plugin Rhino - Image 11 File to robot (File2Rob) – Load a file (F) in RoboDK. The path of that file must be provided. RoboDK supports loading APT or G-code files that are meant for 5-axis manufacturing purposes, such as 3D printing or robot machining. Read the robot machining section for more information.

         Plugin Rhino - Image 12 Points to robot (Pts2Rob) – Load a point (P) or a group of points in RoboDK. Optionally, you can also provide the corresponding normal vectors (or approach vector) for each point (N).

All the components return a status (S) as a percentage (100% means that the robot can complete the program successfully). Also, a descriptive message (M) can be read from each component.

You can right click any component and select Robot Setup Options (RoboDK) to customize the settings specific to one component.

Plugin Rhino - Image 13

Settings

Each Grasshopper component holds specific settings that can be customized. We can also change the default settings that apply to the RoboDK commands (or toolbar buttons) by selecting the Settings button.

Plugin Rhino - Image 14

         Object Name – Set the name of the curve/points object that will be loaded in RoboDK. The object in RoboDK gets overriden every time the path is recalculated. This value is ignored if the name of the object is provided as a component input (O).

         Project Name – Set the name/path of the RoboDK project/station (.RDK file) to use. If the file is already loaded it will use the existing project. If the open project in RoboDK does not match with the file name it will open the project if the full path is specified.

         Robot Name – Set the name of the robot object that will be loaded in RoboDK. The robot name must match the name visible from the RoboDK station tree. Leave this value empty (default) to use the first robot available.

         Reference Name – Set the name of the reference frame to place the path with respect to the robot. The name should match the visible name in the RoboDK station tree.

Tip: If you want to use a numbered Reference frame automatically you can add the reference number at the end of the name. For example: 'Reference 1'.

         Tool Name – Set the name of the tool (TCP) to use with the robot to follow the path.       
The name should match the visible name in the RoboDK station tree.

Tip: If you want to use a numbered Tool automatically you can add the tool number at the end of the name. For example: ‘Tool 1'.

         Program Name – Set the name or the path of the program to generate.

Note: Make sure you select the option to generate the program and code to see the program.

 

         Load Path as Points – Check this option to create the object as points and a Point follow project in RoboDK. This is useful for manufacturing operations such as drilling. Uncheck this option to load the path as a Curve follow project.

         Invert Normals – Check this option to invert the calculated surface normals. This will flip the robot’s tool orientation.

         Use Rhino Theme in RoboDK – Start RoboDK with a Rhino theme. This includes changing the behavior of the mouse for 3D navigation and the background color. These settings apply only when RoboDK is started with Rhino. These settings can be changed in the menu Tools-Options from RoboDK.

         Communication Port – Set the communication port to communicate with RoboDK. Multiple instances of RoboDK can be running at the same time and use different setups if a different port is used. When this value is set to -1 (default), the default port is used (20500).

         Startup Options – Set the arguments to pass to RoboDK the first time it starts. For example, to start RoboDK quietly you can set '/NOSPLASH /NOSHOW /HIDDEN'. Programs can still be generated even if RoboDK is not displayed. More information in the Command Line section of the RoboDK API.

         Linear Tolerance (mm) – Set the linear accuracy to split curves as a set of points.

         Angle Tolerance (mm) – Set the angular accuracy to split curves as a set of points.

Buttons:

         Open RoboDK – Open a project in RoboDK... A new window will open with additional options.

         Load Project … – Load the RoboDK project (RDK file) that you want to use this component with.");

         Open Library – Open RoboDK's online library.

 

         Set defaults – Set the default settings for the component.

         OK – Apply these settings and close this window. Not selecting OK will not apply any settings you changed.

 

Examples

This section shows basic examples to load a Rhino project in RoboDK for robot simulation and offline programming purposes.

Rhino Example

This example shows how to load a sample RoboDK station (default setup) and follow a set of curves defined in Rhino with the robot.

1.    Load the Dome example in Rhino.

2.    Select the RoboDK tab and select Plugin Rhino - Image 15 Settings.

3.    Select Load Project…

4.    Select Default Setup. RoboDK will start and load a sample project with a KUKA robot, one tool (a spindle as Tool 1) and one reference frame (Reference 1).

Plugin Rhino - Image 16

5.    Close the Settings window or select OK.

6.    Select the Plugin Rhino - Image 17 Auto Setup button in Rhino.

7.    Select all the curves and surfaces and press Enter (or right mouse click). The project will be loaded in RoboDK as shown in the following image.

We should see the part loaded on the active reference frame (Reference 1) and a new Curve follow project in RoboDK that follows the curves with the active robot tool (Tool 1).

Plugin Rhino - Image 18

Tip: Press the + or – key to make the reference frames bigger or smaller.

We can also see that the surface normals have been extracted in the opposite direction. Follow these steps to solve this issue:

8.    Select Plugin Rhino - Image 19 Settings.

9.    Check the option Invert Normals.

10.  Select OK.

11.  Repeat steps 6 and 7.

We should now see the surface normals flipped and the approach movement comes from the top of the part. The robot should be able to move along the toolpath without any issues.

Tip: Hold the Alt key to move a reference frame or the robot in the 3D view.

Double click the Plugin Rhino - Image 20 RhinoProject Settings from the RoboDK tree to open more options and customize the toolpath followed by the robot.

For example, we can select Show preferred tool path to see and modify the default orientation of the tool with respect to the part. Change the Path to tool offset value to define an additional rotation. To do so, you can enter a new value or just use the mouse wheel to see a quick preview of the result.

More information to change these settings is available in the robot machining section.

Plugin Rhino - Image 21

Finally, when the simulation produces the desired result we can generate the program or export the simulation:

12.  Right click the program RhinoProject

13.  Select Generate robot program (F6). The robot program will be generated and displayed.

Plugin Rhino - Image 22

Tip: Right click a program and select Show Instructions to see the instructions generated and debug the program. New instructions can be manually added by selecting Add Instruction.

Tip: More information about selecting the right post processor is available in the Post Processor section.

Tip: Select Export Simulation to generate a 3D HTML or a 3D PDF simulation.

Grasshopper Example

This example shows how to use the RoboDK plugin for Grasshopper by dividing a surface as a grid of points and following them with a robot for a drilling operation in RoboDK:

1.    Load the Grasshopper example provided with the RoboDK plugin (3dm file and gh file).

Tip: To start Grasshopper in Rhino simply type the Grasshopper command.

Plugin Rhino - Image 23

2.    Right click the Pts2Rob component and select Robot Setup Options (RoboDK). Select Load Project… and select Default Setup to load a sample RoboDK station (same sample project shown in the previous section).

Plugin Rhino - Image 24

We can optionally provide the object name as a component input (O). We can also specify a project in the component options so that the desired RoboDK project is used with each component.

3.    In Grasshopper, select SolutionRecompute (F5) to update the part and the program in RoboDK.

Note: Update the robot setup in RoboDK. For example, double click a reference frame or a tool frame to enter the right coordinates for the robot reference or the tool respectively.

Plugin Rhino - Image 25

Tip: Right click a program and select Show Instructions to see the instructions generated and debug the program. New instructions can be manually added by selecting Add Instruction.

Tip: More information about selecting the right post processor is available in the Post Processor section.

Tip: Select Export Simulation to generate a 3D HTML or a 3D PDF simulation.

Manual Install

It is recommended to try the RUI automatic installer. If this installer fails, you can manually install the RoboDK plugin for Rhino by following these steps:

Downloads:

1.    Download and install Rhinoceros.

2.    Download and install RoboDK.

3.    Download the RoboDK plugin for Rhino directly or from Food4Rhino.

4.    Unzip the files.

Unblock Properties:

5.    Right click the file RhinoRoboDKcmd.rhp file and select Properties.

6.    Select Unblock and Apply.

7.    Repeat steps 5 and 6 for RhinoRoboDKgh.gha.

Plugin Rhino - Image 26

Load the RoboDK plugin in Rhino:

8.    Load the RoboDK plugin for Rhino: Open the RhinoRoboDKcmd.rhp file with Rhino.

9.    Load the default RoboDK toolbar for Rhino: Open the file RhinoToolbar-Add-RoboDK.rui with Rhino.

10.  Load the RoboDK Grasshopper components: Open the file RhinoRoboDKgh.gha with Grasshopper (open Grasshopper by typing the grasshopper command).

Restart Rhino:

11.  Close Rhino and open it again to see the Grasshopper plugin.