Arc Welder Plugin is Free Software for Smoother and Quicker Prints

Single layer with Arc Welder.

Slicing software like Cura and Octoprint has many plugins that you can install to add extra features and functionality to your slicing experience. Arc Welder is one such very useful plugin. It’s a G-Code post-processing tool that converts multiple line commands into arc commands. This effectively reduces the G-Code size, giving you smoother prints and faster print times.

What does the Arc Welder plugin do?

A Slicer software makes G-Codes out of files by creating a sequential list of connected line segments that can be organized by layer. Inside that G-Code, the G0/G1 command allows you to linearly move the printhead around the print surface. The G0 command is used for fast, non-extrusion movements. Whereas the G1 command is used for precise moves that include extrusion. On the other hand, G2/G3 commands are for creating arcs that are less than 180°. G2 makes a clockwise arc, and G3 makes a counter-clockwise arc. Arc Welder attempts to replace the G0/G1 commands with G2/G3 commands wherever possible. Arc Welder can substantially compress any G-Code file and reduces the number of G-Codes sent to your printer.  A stutter coming from tiny movements being sent quickly to the printer is less likely to occur as these small steps are replaced with a continuous arc. The resultant prints are much smoother and take less time to print.

3D benchy before and after arc welder
Each dot in the image represents the start or endpoint of an extrusion. The G-Code processed with Arc Welder has far fewer moves.

How does the Arc Welder plugin work?

Whenever you upload a file in the slicing software, Arc Welder will read each G-Code in the source file and search for three extrusion or retraction commands in a row. It adds these points to a special in-built shape detector that determines if the collected points can be represented by an arc command. Once Arc Welder detects an arc, it compares the original G-Code path with the resulting arc commands to ensure that any deviation is within the specified resolution. Arc Welder will continue to add new points to an arc until it detects either a significant deviation from the original G-Code or a change in the printer’s state. It will then pull off the final point from the arc, output the altered G2/G3 command, and continue to process the file.

Arc Detecting process explained.
A path made up of line segments is replaced with two arcs in this G-Code. Every arc will always have the same start and endpoints as the Original G-Code path.

Summing up

To use the arc welder plugin, you’ll need to enable Arc support in your Marlin firmware. This feature takes up a lot of memory space, thus it’s difficult to add it in 8-bit motherboards. Therefore, you’ll need a 32-bit motherboard to have Arc support enabled without any memory constraints. You can also take advantage of the free memory by adding upgrades like a BLTouch. Also since Arc Welder is still a work in progress, some default settings are not yet optimized. As a result, you will have to fine-tune the settings according to your needs. Regardless, you will see visible improvements in your prints with this. You can install Arc Welder from the Ultimaker Marketplace for Cura and from the Plugin Manager for Octoprint.

Images and technical information are from the Octoprint plugin repository.

Leave a Reply