Posts: 2
Joined: Fri Sep 29, 2023 5:06 am

G2 / G3 out of the box

Dear Simplify3D team,

I am a 3D printing business owner and a big fan of Simplify3D. However, I am always frustrated by the fact that I have to manually apply the Arc Welder tool to my G-code files before printing. I have forgotten to do this on multiple occasions, which has led to wasted time and materials.

I am wondering why G2/G3 commands are not part of Simplify3D by default. These commands offer several benefits, including:

Reducing the amount of G-code instructions, especially for rounder objects.
Creating smoother curves.
Slightly faster printing.

I understand that Simplify3D is a complex software package, but I believe that incorporating G2/G3 commands would be a valuable addition for many users. I would be grateful if you would consider doing so in a future release.

Thank you for your time and consideration.

User avatar
Posts: 63
Joined: Thu Sep 28, 2017 10:03 pm

Re: G2 / G3 out of the box

My best guesses:
  1. There exists many commands that by default would not be used by any slicer. Perhaps rather one might argue many are specific to a particular industry or a even a machine developer.
  2. Slicers take the requirements you give them and make the best of those settings, based on a specific use. ie FDM, CNC, Laser, RESIN. Simplify 3d is primarily a FDM.
  3. Arc movements are primarily used by CNC type machines. Also I think when S3D was new, almost no FDM would even recognize a G2 or G3 command. That has changed.
  4. I seem to recall reading that S3D did support Arc generation. But I have never seen a proof of that and there is no option to enable or disable it.
  5. The biggest and nastiest issue of all.
    Even though an ARC saves a lot of code space. Even though this should make a cleaner and smoother curve, any time a curve is generated.
    Firmware like Marlin still break down the ARC into segments. Essentially every benefit of the Arc is now thrown out the window by the Firmware. However I may be wrong as they did overhaul the code and the Arch configuration parameters have changed.
  6. To best implement a G2/G3 command set. It would need to be an option in the Firmware configuration tab. That no longer exists at all in Simplify 3d. You might have noticed that to change parameters you must create a new machine. But to throw salt on that wound many parameters that might need to be defined, are missing. Some are in the configuration file that is created, but there are no notes offered.
    To best implement G2/G3, the firmware configuration tab needs to ask a few things like arc size and if the firmware even supports it.
User avatar
Posts: 63
Joined: Thu Sep 28, 2017 10:03 pm

Re: G2 / G3 out of the box

I it would be nice if S3D looked at that now abandoned project and incorporated ArchWelder, a configurator and option to enable to disable based on machine connected.

The double sided sword of adding arcs or archwelder.
Even though the ArcWelder tools works really well, it of course creates G2/G3 commands and as stated before not all firmware supports.

This means while people like me would love to see an option to enable or disable Arc support per layer, or per FFF. It is also a dangerous tool to implement since using it on a machine that does not support it would create nightmares for support on all sides.
Posts: 2
Joined: Fri Sep 29, 2023 5:06 am

Re: G2 / G3 out of the box

A 3D printer is a type of CNC machine.
CNC stands for Computer Numerical Control, and it refers to machines that are controlled by computers to produce precise parts or objects. 3D printers use CNC to control the movement of the print head, which deposits material layer by layer to create a three-dimensional object.

Some CNC are additive some are Subtractive.

3D FFF 3D printers that do not support G2/G3 commands are typically older, budget-friendly models. Some common examples include:
  • Creality Ender 3
  • Creality Ender 3 Pro
  • Anycubic Mega S
  • Anycubic Mega Zero
  • Monoprice Maker Select Plus
  • Anet A8

Marlin firmware supports G2/G3 commands. G2 and G3 are G-code commands that are used to create arcs and circles. Arcs and circles are useful for printing a variety of shapes, such as curved surfaces, rounded corners, and holes.

To use G2/G3 commands in Marlin firmware, you must first enable arc support. This can be done by editing the Marlin configuration file and setting the ARC_SUPPORTED parameter to true. Once arc support is enabled, you can use G2 and G3 commands in your G-code files to create arcs and circles.

Yes, Marlin firmware still breaks down arcs into segments even with G2/G3 commands. BUT, if you are using a 3D printer that is capable of printing arcs natively, you can disable Marlin firmware's arc discretization feature by setting the ARC_SEGMENT_MAX_LENGTH parameter to a very large value. However, it is important to note that disabling arc discretization can lead to print quality problems if the printer is not able to handle the high number of line segments required to approximate the arc.

There are two main ways for a slicer software to add the option to have G2/G3 commands in the generated G-code:
  1. Add a new setting to the slicer software to enable or disable G2/G3 commands. This is the simplest approach, and it is the approach that is used by some popular slicer software, such as Cura and PrusaSlicer.
  • Add a new post-processor to the slicer software that converts arcs to G2/G3 commands. This approach is more complex, but it allows the slicer software to have more control over how arcs are converted to G2/G3 commands.
If a slicer software chooses to add a new setting to enable or disable G2/G3 commands, the setting should be placed in the slicer software's preferences or settings dialog. The setting should be clearly labeled and have a description that explains what it does.

If a slicer software chooses to add a new post-processor to convert arcs to G2/G3 commands, the post-processor should be placed in the slicer software's post-processors directory. The post-processor should have a clear and descriptive name.

Here are some additional considerations for adding the option to have G2/G3 commands in the generated G-code:
  • The slicer software should check to make sure that the printer firmware supports G2/G3 commands before enabling the option. If the printer firmware does not support G2/G3 commands, the slicer software should display a warning message to the user.
  • The slicer software should provide documentation on how to use the new option. The documentation should explain what G2/G3 commands are and how they can be used.
  • The slicer software should test the new option thoroughly to make sure that it works correctly.

Return to “Feature Requests”