Giter VIP home page Giter VIP logo

Comments (12)

manticorp avatar manticorp commented on May 29, 2024 5

I know this is an old issue, and that it has been closed, but I would like to add that one great benefit of G2 and G3 arc commands is that one command can replace 100's of G0 and G1 commands.

When printing over USB using, e.g. Octoprint, this greatly reduces the amount of instructions that need to be sent to and cleared by the USB buffer on the printer.

For some printed models, especially curvy ones with high polygon counts, sending so many G0 and G1 commands can stall the printer, making blobs and zits. Some printers cannot keep up with the high level of G0 and G1 commands in these prints.

Sending single G2 and G3 arc commands produces nice smooth extrusions when printing from USB.

I have done some work on this as a gcode post-processing solution and the results are promising:

https://github.com/manticorp/GCodeArcOptimiser/

from prusaslicer.

mdealer avatar mdealer commented on May 29, 2024 4

Well, fast forward to 2019, this would be a definitive feature to try on my Duet 2 powered CoreXY. I'm running into a problem where the CPU gets bogged down reading many short successive commands for a print consisting out of curves only. If Arcs would be used, then the reading from SD-card part could get skipped completely and it might free up enough CPU to print at an acceptable speed. The CPU is not the fastest, but, in any case, I wouldn't write off this feature. This should be an experimental, optional feature that can be switched per printer.

We shouldn't ignore the fact that the GCodes are currently highly inefficient. Plus, we can't try new ways of path computation if all we have are straight segments only, but it's a different discussion.

from prusaslicer.

bubnikv avatar bubnikv commented on May 29, 2024

I would rather remove it. With the current state of the firmwares, I don't see much benefit of it. On the contrary, this feature could do more harm than good as you already found out.

from prusaslicer.

CReimer avatar CReimer commented on May 29, 2024

Well. That would at least be a clear signal where the development is headed.

But what do you mean by current state of the firmwares. As far as I know Marlin and Repetier are capable of G2 and G3 commands. But I don't know if the print actually benefits from arc commands.

AFAIK Marlin converts G2 and G3 back to G0/G1 commands. The only real benefit I see there is, that the firmware knows more about steps per mm and might be able to generate mechanically better fitting lines.

from prusaslicer.

bubnikv avatar bubnikv commented on May 29, 2024

AFAIK Marlin converts G2 and G3 back to G0/G1 commands. The only real benefit I see there is, that the firmware knows more about steps per mm and might be able to generate mechanically better fitting lines.

Exactly. AFAIK the print will most likely not be better if you use G2/G3 with Marlin. It may be worse due to the heuristics finding the arcs and circles though.

from prusaslicer.

Sebastianv650 avatar Sebastianv650 commented on May 29, 2024

I'm also no friend of G2 and G3. First, the Slicer has to find an approximation to fit arcs into the model. Second, the already quite overloaded 16MHz Marlin board has to approximate the circle further by breaking it up into small G0/1 moves at a resolution that has to be defined by the user in the config file first.
So you are not flexible for choosing a resolution as you can do it in Slic3r, and you transfer the calculations to the weaker CPU.

from prusaslicer.

CReimer avatar CReimer commented on May 29, 2024

Under the assumption everyone uses these outdated CPUs on their printers: Yes. But it could be an optional feature.

But I think we have already determined that there's either way no real benefit in print quality or print speed or whatever.

from prusaslicer.

haarp avatar haarp commented on May 29, 2024

@manticorp
Funny you mention that. Just now I've run (again) into situations where the spam of G1 commands stalls the printer (prusa3d/Prusa-Firmware#1406) which I strongly suspect to be related.

from prusaslicer.

darthscsi avatar darthscsi commented on May 29, 2024

An intermediate option would be to allow enabling arcs for Gyroid infill. No reconstructing of curved surfaces in the slicer would then be necessary.

from prusaslicer.

OldCurmudgeon3DP avatar OldCurmudgeon3DP commented on May 29, 2024

Klipper bogs down more on arcs than I ever saw in Marlin firmware. Maybe it's the 100mm/s speed, but i used that base rate in Marlin and 80% on perimeters same as now. Using the virtual SD card fixes the problem, but defeats the purpose of having octoprint almost entirely. Beats me whether a G2/G3 would help, but seems if Octo sends that one command to Klipper it reduces the bottleneck of Octo sending dozens of little line segments via whatever method is involved.

from prusaslicer.

Nandox7 avatar Nandox7 commented on May 29, 2024

Than it doesn't seem to be a Klipper problem but a Octoprint problem, that is well know for the serial communication problems.

from prusaslicer.

mdealer avatar mdealer commented on May 29, 2024

Duet works better with arcs than segments in my tests.

from prusaslicer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.