I'm using Cura for my 3D printing (an ultimaker S5 printer) and in order to understand 3D printing I'm trying to learn G-code.

I've noticed that even when the model is full of circles, the G-code is full with the G1 command. I haven't seen the G2 or G3 command at all! How could this be?


The .stl files most commonly used for printing do not have any circles in them at all!

.stl files describe the surface of the things they represent with lots and lots of triangles:

STL file of corner object showing the polygons

That also means that your slicer doesn't really know which parts of the model are supposed to be round (where G2 and G3 might be applicable).

And, another consideration, though historical: Most 3D printers were (and are) based on relatively weak 8-bit microcontrollers. It's much easier for those microcontrollers to calculate the movements needed for the print if it's just straight lines, rather than elaborate curves.

One issue that can arise with this is when your model is of high quality, and your slicers uses all of that quality - a simple circle can then become hundreds or thousands of tiny segments, which all need to be transmitted, parsed and executed - which may lead to stuttering.

  • $\begingroup$ Thank you!! So if i'd like to print a circle and use the G2 / G3 command , is there an alternative to the STL files? $\endgroup$ Oct 20 '20 at 13:13
  • 1
    $\begingroup$ As of now, I believe all common slicers only accept the common "mesh" file formats - .stl, .obj and .amf. There are, however, developments like integrating a slicer into Autodesks Fusion 360 CAD suite, which might allow them to use G2 and G3 commands since it could operate directly on your model. Not all printer firmwares even support G2 / G3 (reprap.org/wiki/G-code#G2_.26_G3:_Controlled_Arc_Move) and it's optional on some to save space too. $\endgroup$
    – towe
    Oct 20 '20 at 13:20
  • $\begingroup$ Autodesk fusion does support the G2/G3 in milling operations. $\endgroup$
    – Trish
    Oct 20 '20 at 15:24
  • $\begingroup$ Thank you very much! $\endgroup$ Oct 21 '20 at 7:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.