Experimentation with Surface Toolpaths

Posted on September 8, 2022 by Win

We have been working on a set of features for Verbotics Weld that will ease the offline programming for a whole class of processes that require toolpaths to be generated along the surface of a part. This feature fills in or hatches the surface of parts for many different robot processes. Use cases for this technology include Cladding, Polishing or Painting. We are also in the process of improving the capability of our planning algorithms to address the needs of these specific process paths.

Identifying Welds

The main feature to create process paths in Verbotics Weld is the Identify Welds tool. The way this works is by expanding part volumes to create intersection curves, then applying common-sense properties of welding processes to identify welding paths in a wide variety of shapes and parts.

Our current identifier however, is specifically tuned to the task of generating Welds to join parts. Generating toolpaths for surface processing has some things in common with our existing weld identifier, but the input toolpaths need to be created differently.

Generating Surface Toolpaths

The surface toolpath feature can generate a number of different types of toolpaths on the surface of a part depending on the specific process requirements.

Filling

Where only a single face needs to be filled. We currently have three filling algorithms that can be used to fill a single face;

Line hatching creates continuous lines across the surface, spaced at an interval. Lines can be placed at a specified interval and rotated to match any edge attached to the part.

Line hatcing on sample part

Snake hatching generates lines, then attempts to greedily join them up. This is useful for reducing the number of distinct toolpaths on a surface, and therefore, reducing the number of process starts.

Snake hatcing on sample part

Inset hatching creates concentric lines that follow the 2-dimensional geometry of holes in a face. This can be very useful for surface machining, where starts and ends can be randomised to hide seams.

Inset hatcing on sample part

A combination of these three filling methods can be applied to get the desired effect. For example, you can use the line method in combination with the outline to create a fill pattern with a border to blend process start and end locations.

Continuous Hatching

In many applications, hatching needs to occur across multiple faces. This could be because it is mathematically impossible to define the feature required in a single face, or the part was not designed with this in mind. For this case, we can attempt to create a single, contiguous face from multiple different faces and approximate the face that would result. This is shown below:

Pre stiched toolpaths
The faces we want to process are separate faces. Normally we may need to separate them in CAD software.
Post stiched toolpaths
A toolpath can then be generated on the surface of the merged face automatically.

This process works fine for simple sets of faces. Once a single face cannot reasonably approximate the required faces however, we neeed a different approach. With the lines or snake method, we can attach coincident lines from other faces to form a single toolpath.

Adjusting toolpaths by incident angles along faces

Margins

Surface processing operations often do not need to extend all the way to the edge of a face. We provide a method to dynamically create margins that are inset from all the edges on the face.

Splitting paths by a margin

We can also generate “negative” margins – margins that extend past the end of a face. This can be used in processes such as painting where the path turn around points are created outside the part boundary to prevent overspray. These margins can be applied per-edge, meaning that they only apply to certain parts of the shape.

Selecting and applying a negative margin

Conclusion

Generating toolpaths on surfaces is the next step in applying our automated programming technology to more than just welding.

Please contact us to discuss your surface processing application with us or to find out how Verbotics can help you program your robot.