Actin  Version 5.5.5
Software for Robotics Simulation and Control
Actin SolidWorks Exporter Guide


The Actin SolidWorks Converter is a tool for converting SolidWorks models to the Actin XML format. This format can be loaded into the Actin Viewer (see Figure 1) or utilized by other Actin applications which are created with the Actin libraries and header files. The Exporter is a SolidWorks add-in that is visible after selecting "Tools/Add-Ins" and checking "SolidWorksToActinExporter" (see Figure below). Once loaded, an Actin model tree tab and toolbar options become visible.

A model within SolidWorks and the converted Manipulator model in the Actin viewer
Add-Ins Menu

The conversion process captures the physical extent and joint information of the model and other SolidWorks data such as color and mass properties, as well as coordinate systems.

Model Preparation

Getting the model ready for conversion

This new model creation tool allows users to convert their models without disrupting their CAD design process or making major changes to their models. Some minor changes may be required to fully make use of the exporter. Mates are no longer used to define joints, comments are not longer used to label a link, and Coordinate Systems no longer need to be specifically named.

Primary Frames: If you want to have a specific link origin, create a "Coordinate System" feature at the desired location. This is especially useful on "Base" links and on "Tool" links (the last link in the branch).


Named Frames: If there are poses of interest (attachment points, sensors, cameras, inspection points, grasp points, fiducial points) create a "Coordinate System" feature at the desired locations. These features can be used to create NamedFrames on each link.


Axes: If you know of an axis of rotation (or translation) of a joint, create a reference axis (especially if there are no cylindrical features). These can be used to define the kinematic parameters of the Manipulator.


Initial Joint Position: The model should be positioned to the manipulator "0" joint position. This can be adjusted later in the Actin Viewer, but it is best to position it to "0" in CAD first, because we can rely on the SolidWorks mate engine.

Model Tree Creation

The link tree editor appears in a tab after the feature manager. In order to convert to an Actin EcIndividualManipulator, at least one link (EcManipulatorLink) must be in the link tree.

Creating The Base Link

First, a base link must be created. To create a new manipulator, choose to "Add new link" with the context menu in the link tree view.


Base Link Editor (Basic Tab)

When Creating a base link you must first specify the link name. This will also be used for the name of the EcIndividualManipulator.

To add geometry (EcPolyPhysicalExtent), click on the "Components" box and then select parts and assemblies from the model which you wish to add to the link. Anything that is not selected will not be added to the link geometry. This allows the user to not have to worry about suppressing features like fasteners, cables, and circuitry which increases the model size significantly.


Base Link Editor (Advanced Tab)

Some optional parameters to set are Named Frames, Primary Frame, the bounding volume shape, and bounding volume generation Level.

To add Named Frames, click on the "Named Frames" box, then click on Coordinate Systems in the model to add them as Named Frames.


To specify the Primary Frame of the link, click on the "Primary Frame" box, then click on a Coordinate System in the model to select it as the Primary Frame.


To specify which shape type is used as a default bounding volume, select from the "Bounding Volumes" drop down. Capsules offer the best performance in most cases.

To change the bounding volume generation level, select the "Bounding Volume Level" from the drop down. This allows you to select if the exporter generates one shape per link, one per object (body), or one per part. You can also render the bounding volumes before converting using the "Draw Bounding Volumes" checkbox.

One capsule generated per object (bodies, surfaces)
One capsule generated per part
One capsule generated per link

After creating at least one link, you can export this to Actin.

Creating Child Links

Constructing a kinematic chain involves adding at least one child link to the base link. To do this, right click on the link you wish to be the "Parent Link", and select "Add Link". This will add a link to the chain and show the child link editor.


Child Link Editor (Basic Tab)

When Creating a link you must specify the link name. This name must be unique within the manipulator.

Geometry components are added using the same method as the base link.


Adding a child link requires defining a Joint. To do this, first identify the joint type (Rotational or Prismatic) in the drop down.

To select the Axis of rotation (Axis or Rounded feature), click on the "Joint Axis" box, then select an Axis or Cylindrical feature from the model. It does not need to be on the same part/assembly as any component in the link. Rotation axes can be defined with Axis or Cylindrical Features, as well as Coordinate Systems (using the Z Axis). Translation axes for prismatic joints can be also be defined with Axis or Cylindrical Features, as well as Coordinate Systems (using the Z Axis).


To specify the upper and lower joint limits, enter them in the Upper and Lower Limit boxes in degrees. The current state of the joint defines the "0 degree" position. You can render a preview of the joint limits using the "Draw Limits Preview" checkbox.


You can also reverse the positive joint direction using the "Reverse Joint Direction" checkbox.


Construction Links can be used to create a link that has no geometry. This is usful for things like ball joints, or scara robot links that have a translation and rotation component. In the case of a scara robot, the prismatic joint link (Axis 3) is a construction link, and the following revolute link is not. this gives the appearance of one link with 2 degrees of freedom.


Child Link Editor (Advanced Tab)

Some optional parameters to set are Named Frames, Primary Frame, the bounding volume shape, and bounding volume generation Level. These are configured the same as the Base Link Editor Advanced Tab.

Branching the Manipulator Tree

Users can create multiple branches from the same parent link simply by creating multiple child links. This is required for delta type robots as well as bifurcating humanoid manipulators.


Closing the kinematic chains is performed using constraints (EcEndEffector) created in the ActinViewer.

Navigating Model Tree

Clicking on the link will highlight the link in the model


Exporting To Actin

The Export button appears in a tab in the CommandManager. Once the model tree is set, and you wish to generate and save the manipulator to an Actin model, click on the "Export to Actin" button.


This will prompt you to choose a tessellation quality. This affects how many triangles are added to the meshes used for the EcPolyPhysicalExtent. The lower the quality, the smaller the file size, at the cost of rendering resolution. It will have no effect on control.


After selecting the tessellation quality, you will be prompted to choose where the file should be saved.


As the file is being generated, status will be displayed.


After the model is created and the file is written, you have convenience buttons to close the status, open the new file, or browse to the file location with the file system browser.


Best Practices

Some steps that are not strictly required for conversion, but make the converted manipulator more useable involve:

  • Define primary frames for base links and the end of each kinematic branch (like tool and end effector mounts).
  • Convert model in "0" joint positions
  • Define Named Frames at locations of interest such as robot mounting poses, grasp poses, waypoints, inspection poses, tool mounting poses, TCP offsets, sensor poses, fiducial poses.

Closed Chain Preparation

Closed chains involve creating constraints in the ActinViewer, but there are steps to take to make this easier in SolidWorks where kinematic chains will be closed, create primary frames where they will be constrained from.


Example Videos

Below is a video showing the process to convert a simple 6DOF robot arm. This involves building a link tree, setting primary frames, and selecting bounding volumes.

Below shows a video of the process to convert a simple 2 DOF gantry. This involves configuring prismatic joints.

Below shows a video of the process to convert a simple robot workcell. This involves creating only one link in the manipulator tree.

Below shows a video of the process to convert a Scara robot. This involves creating a "construction link" because the robot uses 2 joints to move one link. In Actin we use 2 links (one with no geometry) and 2 joints.