We are happy to announce RAPCAM-GH v1.1.1 was released today. Although users of RAPCAM appreciate it’s simplicity when running in Rhino, for advanced use cases we advise to use grasshopper version which has high parametric flexibility. Good news is that your standard RAPCAM License can be used to work with RAPCAM-GH. In RAPCAM-GH you can:

  • Create multiple robots (FANUC, ABB and Kuka)
  • Move robots along, based on the base plane
  • Generate instructions for freely oriented plane systems
  • Set up your own custom tools with your own geometry and TCP
  • Set up User Frames
  • Simulate the movement of robots along the planes through interpolated orientations
  • Set up work scenarios where ABB, Kuka and FANUC robots interact
  • Use standard hot wire cutter tool

As an extra, we provide helper components to do Euler and Quaternion math:

  • Get Euler or Quaternion from two planes
  • Transform a plane by providing an Euler or Quaternion
  • Create TCP information Eulers or Quaternions
  • Transform Eulers to Quaternions and vice versa

 

DOWNLOAD RAPCAM-GH

 

Components explained

 

Currently we provide 31  components in Grasshopper.

 

 

Robot Position Solver (RPS)

 

 

Solves robot position by supplying basic orientation parameters. You should provide the robot and a collection of planes to get the simulation working. If you choose to provide a curve, it should go through the origins of provided planes. This will update the path of interpolation.

 

Inputs

  • Robot – The robot object of RAPCAM. Use defined robot components or create custom robot through appropriate component.
  • Pln (Plane) – The planes to which the tool of the robot will be oriented. These planes should also be sent to the instruction components in order for simulation to match the instructions.
  • t (Param) – The normalized param between 0 and 1 to indicate the location on the path.
  • Crv (Curve) – Optional guiding path curve or polyline between the planes
  • Tool – Robot tool. Use provided RAPCAM tools or our custom tool component.

Outputs

  • RGeo (Robot Geometry) – The robot geometry described through 6 meshes and extra geometry if needed.
  • RJPln (Robot Joint Planes) – The robot planes of all 6 axes.
  • TCPPln (Tool Center Point Plane) – The orientation plane for tool center point. There are three ways to define orientation for your TCP. First one to use Tool Center Point Plane. In this way quaternions and eulers will be calculated automatically. If you decide to choose to enter eulers or quaternions independently, then you also must provide TCP origin point (In the coordinates of Tool Frame Base Plane).

 

 

Roughing / Async

 

 

Calculates roughing instructions by providing bounding and target geometry. This will calculate that path that will remove all the material from the bounding box in a consistent way for you to do finishing.

 

Inputs

  • BGeom (Boinding Geometry) – We support bounding box geometry, but other geometries may also work as this algorithm is more general.
  • BObj (BRep Object) – Brep that will be used for milling and roughning path generation. If both Brep and Mesh are provided, brep will be used.
  • MObj (Mesh Object) – Mesh that will be used for milling and roughning path generation. If both Brep and Mesh are provided, brep will be used.
  • TPln (Tool Plane) – Component understands any tool orientation and will adapt accordingly.
  • MBR (Mill Bit Radius) – This will be used to make offsets from the object accordingly.
  • Bl (Is Ball Mill) – Indicates if milling bit has a ball end. This will affect the path generation.
  • BGeoS (Bounding Geometry Scale) – Indicates the scale of bounding box, default is 1.
  • O (Overlap) – Overlap between sections, default 0. By default sections take milling bit length, but overlap can be provided to make distances smaller.
  • R (Rotation) – Rotation of cutting sections in degrees, default 0.
  • Res (Resolution) – Path resolution in mm, default 10 mm. Resolution provides information on the path to check for intersections with milling objects. The higher the resolution, more precise the path.
  • D (ROughing Depth) – Milling depth, default 20 mm.  Milling depth provides information on how deep should the sections be.
  • MOO (Milling Object Offset) – Offset the milling object, default 0. If you want your roughning path to go further from milling object than default, use this option.
  • R/F (Roughing – true, Finishing – false) – Boolean indicating if the component should calculate Roughing or Finishing instructions

Outputs

  • RPath (Roughing Path) – The roughning path for the milling.

 

 

Mesh Print / Async

 

 

This component generates a path for 3D printing of mesh contours. It can be used with concrete printing robots.

 

Inputs

  • Mobj (Mesh Object) – Mesh object that will be used to generate the contour path.
  • PlnOrient (Plane Orientation) – Component will adapt the sectioning to this provided plane.
  • DSec (Distance Section) – The distance between the sections of printing.
  • Offs (Offset) – Offset allows to regulate section offset, default is 0.
  • SMod (Spiral Mode) – You can select between 3 options (0 to 2) how the path is generated. 0 – Every second reverses, 1 – Spiral with seam, 2 – Spiral no seam.

Outputs

  • Pth (Path) – The path for printing

 

 

Fanuc Instructions (FI)

 

 

Component generating Fanuc robot instructions.

 

Inputs

  • Pln (Planes) – These planes should also be sent to the instruction components in order for simulation to match the instructions.
  • Crv (Curve) – Optional guiding path curve or polyline between the planes.
  • Robot – The robot object of RAPCAM. Use defined robot components or create custom robot through appropriate component.
  • Res (Resolution) – Force higher/lower resolution for in between planes. Normalized between 0 and 1.
  • MName (Module Name) – Module name for fanuc instructions.
  • CMode (Corner Mode) – Corner mode for fanuc instructions. You can enter FINE, CNT0, CNT10, CNT100.
  • UTool (User Tool) – uTool number for fanuc instructions.
  • UFrame (User Frame) – uFrame number for fanuc instructions.
  • S (Speed) – Speed mm/s.
  • Cfg (Config) – If your robot is configured correctly, you should be able to find configuration on your Teach Pendant. In general, when the robot arm can reach the same TCP with the arm bent differently, a configuration identifier is needed to specify the joint placement.
  • UF (User Frame) – User Frame defined through special component will update the plane coordinates and orientations. Your user frame settings should match the settings of your robot.

Outputs

  • IPln (Instruction Planes) – The path for printing.
  • Inst (Instructions) – Generated Fanuc robot code for provided planes.

 

 

ABB Instructions (AI)

 

 

Component generating ABB robot instructions.

 

Inputs

  • Pln (Planes) – These planes should also be sent to the instruction components in order for simulation to match the instructions.
  • Crv (Curve) – Optional guiding path curve or polyline between the planes.
  • Robot – The robot object of RAPCAM. Use defined robot components or create custom robot through appropriate component.
  • Res (Resolution) – Force higher/lower resolution for in between planes. Normalized between 0 and 1.
  • MName (Module Name) – Module name for ABB instructions.
  • TName (Tool Name) – Tool name for ABB instructions.
  • S (Speed) – Speed of ABB robot.
  • WObj (Work Object) – The work object used with ABB robot.
  • Zn (Zone) – Zone used with ABB robot. ‘z1’ to ‘z200’ is valid. ‘fine’ is also possible.
  • UF (User Frame) – User Frame defined through special component will update the plane coordinates and orientations. Your user frame settings should match the settings of your robot.

Outputs

  • IPln (Instruction Planes) – The path for printing.
  • Inst (Instructions) – Generated Fanuc robot code for provided planes.

 

 

Kuka Instructions (KI)

 

 

Component generating ABB robot instructions.

 

Inputs

  • Pln (Planes) – These planes should also be sent to the instruction components in order for simulation to match the instructions.
  • Crv (Curve) – Optional guiding path curve or polyline between the planes.
  • Robot – The robot object of RAPCAM. Use defined robot components or create custom robot through appropriate component.
  • Res (Resolution) – Force higher/lower resolution for in between planes. Normalized between 0 and 1.
  • N (Name) – Name of kuka instructions.
  • V (Velocity) – Velocity of kuka instructions in m/s.
  • T (Tool) – Tool name that will be used on kuka robot while executing instructions. Normally these are values 1 – 10.
  • B (Base) – The base number for kuka instructions.
  • UF (User Frame) – User Frame defined through special component will update the plane coordinates and orientations. Your user frame settings should match the settings of your robot.

Outputs

  • IPln (Instruction Planes) – The path for printing.
  • Inst (Instructions) – Generated Fanuc robot code for provided planes.

 

 

Custom Tool (CTool)

 

 

Define custom tool for your robot by providing your own mesh geometry and TCP information.

 

Inputs

  • TMesh (Tool Mesh) – Tool mesh geometry. The precision of the mesh has influence on collision detection precision when validating the simulation.
  • TCP (Tool Center Point) – Tool Center Point defines your tool’s center point in the coordinate space of Tool Frame Base Plane. You must provide TCP if you use eulers or quaternions to define your TCP orientation in robot controller. If you use TCPPln to define TCP orientation, then by default RAPCAM will use TCPPln origin as your Tool Center Point. Providing TCP together with TCPPln will overwrite the origin of your TCPPln.

Outputs

  • Tool  – The tool that you can use with other components, such as RPS (Robot Position Solver) or instruction generators.

 

 

Tool Center Point (TCP)

 

 

Tool Center Point is defined by the orientation and position coordinates (in relation to Tool Base Frame Plane). You can use plane, euler or quaternion descriptions for TCP. Please check your robot settings to find your tool’s TCP. If you want simulation to match your robot’s configuration, make sure you use the same settings for TCP and Tool Frame Base.

 

Inputs

  • TCPPln (Tool Center Point Plane) – The orientation plane for tool center point. There are three ways to define orientation for your TCP. First one to use Tool Center Point Plane. In this way quaternions and eulers will be calculated automatically. If you decide to choose to enter eulers or quaternions independently, then you also must provide TCP origin point (In the coordinates of Tool Frame Base Plane).
  • TCPEul (Tool Center Point Eulers) – TCP orientation description expressed in eulers. Use RAPCAM’s Eulers component to compose this input. If you want to use eulers to describe your TCP, leave TCPPln (Tool Center Point Plane) and TCPQuat (Tool Center Point Quaternions) inputs empty. You must also provide TCP point of your tool if you choose to use eulers for orientation description.
  • TCPQuat (Tool Center Point Quaternion) – TCP orientation description expressed in quaternions. Use RAPCAM’s Quaternions component to compose this input. If you want to use quaternions to describe your TCP, leave TCPPln (Tool Center Point Plane) and TCPEul (Tool Center Point Eulers) inputs empty. You must also provide TCP point of your tool if you choose to use quaternions for orientation description.
  • TCPxyz (Tool Center Point Coordinates) – Describe Tool Center Point coordinates. These will overwrite your TCPPln origin or will work as extra information for euler/quaternion definitions.

Outputs

  • TCP (Tool Center Point) – Tool Center Point information can be used with Tool Components.

 

 

User Frame (UF)

 

 

Inputs

  • Robot – RAPCAM Robot information is needed to determine the user frame in accordance to Robot Base Plane.
  • UFEul (User Frame Eulers) – Euler that defines the user frame orientation.
  • UFQuat (User Frame Quaternion) – Quaternion that defines the user frame orientation.
  • UFOrig (User Frame Origin) – Origin of user frame.

Outputs

  • UF (User Frame) – User Frame is a plane that should match your settings set up in the robot.

 

 

Wire Cutter Tool (WCTool)

 

 

Easy to use wire cutter tool. For more advanced scenarios, use our Custom Tool component.

 

Inputs

  • TWidth (Tool Width) – The width of the tool (mm) – in terms of wire length.
  • THeight (Tool Height) – The height of the tool (mm) – between wire and beginning of top frame.
  • FWidth (Frame Width) – The width of frame’s profile in section (mm).
  • FHeight (Frame Height) – The height of frame’s profile in section (mm).
  • TCP (Tool Center Point Rotation) – The rotation of the tool TCP around the wire in radians.

Outputs

  • Tool – The tool that you can use with other components, such as RPS (Robot Position Solver) or instruction generators.

 

 

Euler (Eul)

 

 

Compose transformation through Euler W, P, R rotations.This can be used with RAPCAM components to change orientations of the tool, etc.

 

Inputs

  • W (Phi) – W Rotation.
  • P (Theta) – P Rotation.
  • R (Psi) – R Rotation.

Outputs

  • Eul (Euler) – Euler that can be used with other RAPCAM components, accepting this form of transform information.

 

 

Quaternion (Quat)

 

 

Composes quaternion transform from A, B, C, D elements.

 

Inputs

  • – A Rotation.
  • – B Rotation.
  • – C Rotation.
  • – D Rotation.

Outputs

  • Quat (Quaternion) – Quaternion description of the rotation transform that can be used with RAPCAM components requiring Quaternion input, such as Tool’s TCP, etc.

 

 

Eulers From Two Planes (PlnsToEul)

 

 

Creates Euler rotations from two Planes.

 

Inputs

  • Pln (Plane) – A base plane to determine euler rotations
  • Pln (Plane) – A second plane to determine euler rotations

Outputs

  • Eul (Euler) – Euler that can be used with other RAPCAM components, accepting this form of transform information.
  • W (Phi) – W Rotation.
  • P (Theta) – P Rotation.
  • R (Psi) – R Rotation.

 

 

Quaternion From Two Planes (PlnsToQuat)

 

 

Creates Quaternion rotations from two Planes.

 

Inputs

  • Pln (Plane) – A base plane to determine quaternion rotations
  • Pln (Plane) – A second plane to determine quaternion rotations

Outputs

  • Quat (Quaternion) – Quaternion description of the rotation transform that can be used with RAPCAM components requiring Quaternion input, such as Tool’s TCP, etc.
  • – A Rotation.
  • – B Rotation.
  • – C Rotation.
  • – D Rotation.

 

 

Euler to Quaternion (Eul2Quat)

 

 

Transform Euler to Quaternion by using WorldXY rotation transform.

 

Inputs

  • Eul (Euler) – Euler defined through W, P, R rotations.

Outputs

  • Quat (Quaternion) – Quaternion description of the rotation transform that can be used with RAPCAM components requiring Quaternion input, such as Tool’s TCP, etc.
  • – A Rotation.
  • – B Rotation.
  • – C Rotation.
  • – D Rotation.

 

 

Quaternion to Euler (Quat2Eul)

 

 

Converts Quaternion to Euler in W, P, R form.

 

Inputs

  • Quat (Quaternion) – Quaternion, expressed through A, B, C, D rotations. To construct quaternion, use RAPCAM’s Quaternion component.

Outputs

  • Eul (Euler) – Euler that can be used with other RAPCAM components, accepting this form of transform information.
  • W (Phi) – W Rotation.
  • P (Theta) – P Rotation.
  • R (Psi) – R Rotation.

 

 

Transform Plane By Euler (PlnByEul)

 

 

Transform plane by euler rotations.

 

Inputs

  • Eul (Euler) – Euler rotations that will transform Plane.
  • Pln (Plane) – A plane to be transformed by the euler rotations.

Outputs

  • Pln (Plane) – Transformed plane.

 

 

Transform Plane By Quaternion (PlnByQuat)

 

 

Transform plane by quaternion rotations.

 

Inputs

  • Quat (Quaternion) – Quaternion rotations that will transform Plane.
  • Pln (Plane) – A plane to be transformed by the euler rotations.

Outputs

  • Pln (Plane) – Transformed plane

 

 

ABB Robots

 

 

 

List of ABB robots we support:

  • ABB IR-140
  • ABB IRB-4400
  • ABB IRB-2400
  • ABB IRB-6400
  • ABB IRB-6620

 

Inputs

  • RBPln (Robot Base Plane) – Robot base plane that can move robots around in the space.

Outputs

  • Robot – Robot that can be used with all the components of RAPCAM.

 

 

Fanuc Robots

 

 

List of Fanuc robots we support:

  • Fanuc R2000 iB 165F
  • Fanuc S420iF
  • Fanuc S430i

 

Inputs

  • RBPln (Robot Base Plane) – Robot base plane that can move robots around in the space.

Outputs

  • Robot – Robot that can be used with all the components of RAPCAM.

 

 

Kuka Robots

 

 

List of Kuka robots we support:

  • Kuka Kr 150L
  • Kuka Kr 162
  • Kuka Kr 180 r2500
  • Kuka Kr 240 2

 

Inputs

  • RBPln (Robot Base Plane) – Robot base plane that can move robots around in the space.

Outputs

  • Robot – Robot that can be used with all the components of RAPCAM.