HAL is a free grasshopper definition Written by Thibault Schwartz which creates Rapid for ABB robots


HAL_Download – Follow the instructions for downloading on his website. You will have to use Rhino 5 and the most updated version of Grasshopper. You will need to email Thibault with your machine’s MAC Address to get a license.

Grasshopper – Free with a valid CD-Key

Hal-Example_ABB-IRB140_04.3dm – Our Rhino file – Our Grasshopper file


It is intended as a starting point for further explorations with 3D geometry and RAPID code generation. Some limitations include:

  • No way to edit grasshopper components directly
  • Set up to do specific things (hotwire cutter/Milling attachment)
  • No way to add WriteDO’s or any other non-move RAPID commands(using v02)


We will go over this in more detail during class, however, here are the main points:

  • Open Hal-Example_ABB-IRB140_04.3dm in Rhino 5
  • Open in Grasshopper (this definition references geometry in the Rhino file above).
  • If this is the first time opening this definition on your computer, then enter your License number into the text box labelled ‘License’ (Email Thibault for this, remember to provide your MAC Address and mention you are in this class at CMU – hal-request[at]thibaultschwartz[DOT]com).
  • In this example we are providing planes in space to generate rapid. You have a lot of flexibility to generate these planes in Rhino.
  • Change your rapid settings, such as: Speed, Zone, Movement Type
  • Edit your tool information at the bottom.
  • Make sure the Calculate Boolean is set to True.
  • Right-Click on the Rapid and Stream it to a file named [Blah].mod
  • Simulate in RobotStudio to be safe!

Simulating in RobotStudio (Again…)

Always simulate the code generated by RAPID_P5 before running it on the actual robot.

  • Go to the ‘Offline‘ tab of RobotStudio
  • Open the RAPID drop down
  • In the left hand pane, go to ‘IRB140_5kg_0.81m_3/RAPID/T_ROB1’, delete any listed module, right click and select “Load Module” – if a dialog pops up click yes
  • Select the .mod file created by your Grasshopper definition
  • Select everything in the ‘Synchronize to Station‘ window
  • Hit the play icon in the main window