The RoboDK plug-in for Rhino allows you to combine Rhino’s parametric modeling with RoboDK for robot simulation and offline programming.
With the RoboDK plug-in for Rhino you can easily load 3D models created in Rhino to RoboDK. This plug-in 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.
The RoboDK plug-in for Rhino works for Rhino 5 and Rhino 6. The RoboDK Rhino plug-in is free, however, certain options in RoboDK require purchasing a license.
Follow these steps to install the RoboDK plug-in for Rhino:
1. Download and install Rhinoceros.
2. Download and install RoboDK. The Rhino installer files will be available in C:/RoboDK/Other/Plugin-Rhino/.
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 plug-in 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.
The default toolbar provided for Rhino includes 5 buttons:
● 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.
● 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.
● 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.
● 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.
● 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.
The RoboDK plug-in for Rhino includes with 3 Grasshopper components:
● 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.
● 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.
● 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.
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.
● 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.
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.
● Program Name – Set the name or the path of the program to generate.
● 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.
● 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.
This section shows basic examples to load a Rhino project in RoboDK for robot simulation and offline programming purposes.
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 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).
5. Close the Settings window or select OK.
6. Select the 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).
We can also see that the surface normals have been extracted in the opposite direction. Follow these steps to solve this issue:
8. Select 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.
Double click the 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.
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.
This example shows how to use the RoboDK plug-in 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 plug-in (3dm file and gh file).
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).
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 Solution➔Recompute (F5) to update the part and the program in RoboDK.
It is recommended to try the RUI automatic installer. If this installer fails, you can manually install the RoboDK plug-in for Rhino by following these steps:
1. Download and install Rhinoceros.
2. Download and install RoboDK.
4. Unzip the files.
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.
Load the RoboDK plug-in in Rhino:
8. Load the RoboDK plug-in 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).
11. Close Rhino and open it again to see the Grasshopper plug-in.