So I have some tips that I am going to share later today, once the prints are done. But before I can do that I need to explain some stuff.

In 3D printing, we have two types of movements: linear movements and arc movements.

Linear movements are straight line movements. Go from (x, y, z) to (x_1, y_1,z_1) in a straight line as the crow flies. This is great for a straight line.

What are arc movements? Well, they are circular movements. "Rotate about a certain point, keeping a constant distance from the center point, and complete a certain percentage of the circle."

Let me show you why arc-movements might be better for you!

@3dprinting #3dprinting

So here is an example of linear movements or movements created by the G1 #Gcode command.

This is a segment of a standard #Benchy model. As you can see, all of the lines are straight. With every tick, a straight line is drawn. Short ones for small detail and longer ones for longer surfaces.

In this entire video, there are only about 10 commands, 10 commands the printer needs to receive and print.

@3dprinting #3dprinting

Oh wow! Linear movements are great! They produce good details, but what happens if we have circular movements or circles?

Well, problems arise.

Look at this video. The G1 movements are able to replicate the circuit in the chimney, but as you can see, it is basically a polygon with many corners and small surfaces. Also, there are 100s of small movements.

That is, 100s of small movements that need to be communicated with your printer. And if it is too slow and can't keep up with it, well, your printer can slow down or even freeze and come to a halt.

@3dprinting #3dprinting

Well, here is the solution. In comes G3 arc movements.

As you can see in this video, the same chimney is basically just 2 movements, to long arcs, and thus two commands sent to the printer. And they are perfect circles!

So, no more blocky prints, and you aren't spamming the printer with commands. You are just sending two commands and getting a better result!

@3dprinting #3dprinting

Here is another example.

Look at the bow. The circular piece of the bow would have used 100s of G1 linear movements. Now, it is just a single part. A single line and command, resulting in a smooth finish.

@3dprinting #3dprinting

Now, if you think I am lying or exaggerating this, look at these results.

This is a #Benchy printer without any arc-movements G3 commands.

You'll see a bunch of deoplets and bulges on the front of the boat. This is due to 100s of G1 linear movements, the printer not being able to keep up with the communication, receiving another co..and before it is even done, and freezing.

The printer then stops and waits and filament oozes out of the nozzle. Thus, slowing down your print and degrading your printing quality.

@3dprinting #3dprinting

@Stark9837 @3dprinting I don't think a benchy should look like this (the red one) in any case, that's very weird. Looks to me like the frikkin serial interface to Octoprint clogging and pausing. The same Gcode would look fine from SD card or Klipper IMHO.

@stooovie

It isn't as bad printing from an SD card or #Klipper but still occurs. Even #Klipper can lag behind. It comes down to, too high, that a resolution could literally result in 1000s of G1 movements for tiny circles. Say what you want, but even Klipper can't handle that. Because Klipper would still do 1000s of G1 movements.

G3 movements replace all of those 1000s mocements to an actual circular movement and also to a single command.

So even if you don't see the bulges, your #Gcode will be compressed in the sense that it reduces the total amount of commands.

I once had a 34-hour print, which was about 40MB in #Gcode, using #ArcWelder and replacing all of the circular motions with G3, I reduced the size to 17MB on Gcode. More than 50% compression, which helps a lot when you have a cheaper 8-bit printer, will very little RAM.

It's the law of big number, the less lines you have, the less possible things can go wrong.

@3dprinting #3dprinting

@Stark9837 @3dprinting Still, a benchy shouldn't look like this, even without ArcWelder. Something else is amiss.

@stooovie

I doubled the slicing resolution and halved the minimum maximum path length to prove a point. That printers can be overwhelmed at normal speeds of 60 mm/s with excessive G1 movements.

Default settings in #PrusaSlicer can do this to a #benchy with some cheaper 8-bit boards or over slower serial connections using something like #Octoprint

Not only does #Klipper have its own methods of being faster, but #Mainsail and #Fluidd have less oerhead than #Octoprint. So, just the serial communication can be more efficient due to this.

I am busy with my own personal investigation into #Octoprint to see how I can speed it up because I need it and don't have the time to rewrite my entiee enclosure to work without my plugins. So Mainsail isn't an option.

I actually installed #Klipper and #Octoklipper literally like 6 hours ago. I am still busy with mt config because I had some unrelated issues.

@3dprinting #3dprinting