Jump to content
Ultimaker Community of 3D Printing Experts

Arc Welder Anti Stutter plugin


Recommended Posts

  • Replies 197
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

I'm working on a plugin that wraps FormerLurker's command line version of the ArcWelder plugin originally developed for OctoPrint. The plugin attempts to reduce stutter by simplifying gcode. It analys

So, I wanted to mention two changes to Arc Welder:   1.  Vase Mode (3D arcs) seems to be working well so far.  I've printed several, and haven't had any issues  However, I'd still love to ha

I have submitted an updated version of the plugin for inclusion in the Marketplace.

Posted Images

Posted · Arc Welder Anti Stutter plugin
1 hour ago, brunoosti said:

Now, how do I convert a low poly shape into a curved one?

Preferably not in Cura, but in a 3d modeling package.

1 hour ago, brunoosti said:

But if I configure resolution over 0.07mm, cura won't slice,

This misunderstanding of the parameters will be fixed in the next release. For details, see https://github.com/fieldOfView/Cura-ArcWelderPlugin/issues/12

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin
    6 hours ago, ahoeben said:

    Preferably not in Cura, but in a 3d modeling package.

    Sure, I understand what you mean: for precision and not having the plugin escaping the intended shape. But sometimes it's evident the part would be round if not for the low poly count (besides skipping  treating the model part ). How does the plugin calculate the curved path? Tangent to the original lines?

    • Like 1
    Link to post
    Share on other sites
    • 4 weeks later...
    Posted · Arc Welder Anti Stutter plugin

    prints.zip

     

    the Cura plugin with an Ender 3v2 isn't usable for me.  just started using AW so not sure if this is a new issue or not.  attached are 2 GCodes, one with AW and one without.

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    It is very possible that the firmware you use does not properly support G2/G3 Arc movements. I don't have your printer, and I don't know what firmware you have installed.

  • Link to post
    Share on other sites
    Posted (edited) · Arc Welder Anti Stutter plugin

    the gcode files came out of Cura, but for the record I'm using the current official Creality build of Merlin, 2.0.1.

    Edited by papasan
  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin
    15 hours ago, papasan said:

    the Cura plugin with an Ender 3v2 isn't usable for me.

    Please be more specific than this. The gcode files look ok to me. I don't know what your problem is printing these files, since I can not run your gcode files on your printer, with the version of Marlin you compiled for your printer.

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    I'm pretty new at printing, so perhaps there are some nuances that I'm missing about how the GCode is rendered in preview mode on different hardware, but these 2 codes look drastically different on my screen and printer...

     

    Ut7muKf.jpg

     

    FXEtpxc.jpg

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    In the first image you show the part before Arc Welder did it's thing (it is a "Post-Processing" script).  The circles in that image are actually a lot of short line segments and show correctly.  They are G1 moves.

     

    But when you open a gcode file in Cura that was post-processed by Arc Welder, Cura doesn't understand the G2/G3 commands and so it ignores them when it renders the preview of a gcode file.  The G2/G3 moves disappear and you are left with the G1 moves.  It will print fine.  It just doesn't look good in Cura.

    • Like 1
    Link to post
    Share on other sites
    Posted (edited) · Arc Welder Anti Stutter plugin

    it prints exactly like the preview on my Ender3v2 with 2.0.1 firmware via Octoprint.  perhaps it's the last item that's causing the moves to be incorrectly printed?

    Edited by papasan
  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    Then the firmware of your printer doesn't have G2/G3 (arc_support) enabled.  The printer doesn't understand the commands and ignores them.  You won't be able to use Arc Welder unless you alter the firmware.

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    I see, thanks for the info.

  • Link to post
    Share on other sites
    Posted (edited) · Arc Welder Anti Stutter plugin

    In Marlin "Configuration_adv.h":

     

    // G2/G3 Arc Support
      //
      #define ARC_SUPPORT // Disable this feature to save ~3226 bytes
      #if ENABLED(ARC_SUPPORT)
      #define MM_PER_ARC_SEGMENT 1 // (mm) Length (or minimum length) of each arc segment

     

    Now I know why they didn't enable them.  3226 bytes is a lot of overhead.

    Edited by GregValiant
  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    I see the beauty of Arc welder but have had mixed results using it in cura. It mostly works great but has caused problems a few times.

    Please see the attached images of 3 prints...the first two are sliced with different setting and using arc welder, the third has Arc welder turned off and the artifact is gone...ill attach the images as well as the G-code (github made me zip it). Is this an issue or do my settings need to change? I'm using settings very close to the defaults.

    Thanks for your time and effort!
    12827760_1-3DBenchyAWD.thumb.jpg.c73a148bcaa31cfe7f80aaf944255981.jpg80315914_1-3DBenchyNoAW.thumb.jpg.49b1fefc95c769cb265385b7341a2109.jpg1986390690_1-3DBenchyAWB.thumb.jpg.d64df715b3dbd51b53abe0728e815491.jpgG-code.zip

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    You can load g-code into cura after arc-welder finishes with it.

    The code generated doesn't seem to get processed properly by cura or the printer.

    But it corresponds closely to my ender3v2 output, which is supposed to have ARC_SUPPORT enabled by default.  At least according to the marlin config file from creality.  It has a 32 bit processor so space for features are not an issue.

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    "At least according to the marlin config file from creality".

    Over the course of the last year or so, Creality ran out of various parts and made substitutions.  Among the parts that they substituted were mainboards.  They grabbed what boards they had available, did quicky patches to the firmware, installed the boards and sold the machines.  There were issues and one of them was that G2 / G3 was not enabled.  Another issue was the M0/M1/M117 glitch that killed the ability to use the "Pause at Height" plugin.

    Yes, it's a 32 bit mainboard but memory is memory and I've seen no mention of memory space in regards to any Creality mainboards.  The problem was severe last summer and into the fall.  Since then it seems to have gotten better but other than tracking complaints (like the G2/G3 thing) it's hard to tell.  Creality is quick to blow their own horn in regards to their positives and completely silent about any negatives.

    My Ender 3 Pro with the 8 bit board reads and prints Arc Welded gcode perfectly.  Cura however does not (but I think I read someplace that somebody was working on that).  If your prints look like current Cura previews then G2/G3 is not enabled.

    • Like 2
    Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    Out of interest, how does ArcWelder decide that STL geometry is a curve?

    If an STL file is simply a series of triangles, there must be a point at which ArcWelder might get confused as to whether a surface is not really a curve but a series of facets.

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    Magic.

  • Link to post
    Share on other sites
    Posted (edited) · Arc Welder Anti Stutter plugin

    Though I am not the creator of the "magic", my guess is it is as follows: The algorithm takes 3 consecutive points (that are part of an extruding move) and fits a circular arc to them. If an arc is found, it compares the arc to the two linear sections and checks the difference. If the difference is smaller than what is specified in the settings, (and some additional conditions are also met), the arc segment is accepted. Then I am guessing the next point is checked to be on the same curve. If it is not, then a new section of 3 consecutive point is taken.

    Edited by ahoeben
    • Like 2
    Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin
    10 hours ago, ahoeben said:

    ...The algorithm takes 3 consecutive points (that are part of an extruding move) and fits a circular arc to them...


    I thought that must be the way it works too, but I saw a bunch of people on facebook suggesting that it's the way to smooth out a low-poly cylinder (it's what prompted my question).

    I think the facets that make up the numerous flat sides of a Tinkercad cylinder are too rough to be considered a curve by Cura, so by extension Arc Welder wouldn't smooth those faces, although it might arc at the interface from one face to the next.

  • Link to post
    Share on other sites
    Posted (edited) · Arc Welder Anti Stutter plugin

    "...suggesting that it's the way to smooth out a low-poly cylinder."

    That is an interesting question.

    If you take say, 5 points that are each 5mm apart and determine that they are on an arc.  You convert the arc to a G2 move and pass it to the printer.  The printer looks at the arc and finds that its minimum line segment for an arc is 1mm.  So it appears (on the surface) that the resolution goes up from 5mm facets, to 1mm facets.

     

    Here is a shot of a tube that I exported from Acad in low res (FACETRES at 0.25).  Lots of big facets.

    Untitled.thumb.png.e21692fe3e9d318e41f68c2d8e66fac8.png

     

    I sliced it with Arc Welder active.  Within the gcode file are very few G2/G3 moves.  I think the resolution was too low and fell below some threshold that may be present in Arc Welder.

    So I upped the FACETRES to 1.0 and tried again.  I got pretty much the same result as noted above with hardly any G2/G3 moves in the gcode file.  Lastly I exported the STL with FACETRES at the max of 10.0 and Arc Welder came to life filling the gcode file with G2's and G3's.

     

    Here is the final gcode file read into Acad.  The VBA script does turn G2/G3 into arcs and I've copied one arc out to the right.  There is a slight gap in the arc at about 9:00 that is at the Zseam location and I will assume it's where the .1mm wipe is.

    untitled10.thumb.png.080e1d8405753084c5faf823cbbd228b.png

    After all of that, I am pleased to present my astounding conclusion regarding the question "Does Arc Welder increase resolution"?

     

    And my answer is...Maybe, if the file is fairly high-res to start with.  @ahoeben may know the threshold.  In AutoCad it's between 1 and 10 and that's close enough for government work.

     

    Regards,

    Dr. Bunsen Honeydew

    Muppet Labs

    199172_152607244800386_6190830_n.jpg.687fe979f5609f3aec999ea9460824c0.jpg

     

     

    Edited by GregValiant
  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin
    On 5/24/2021 at 11:51 PM, GregValiant said:

    "...suggesting that it's the way to smooth out a low-poly cylinder."

    That is an interesting question.

    If you take say, 5 points that are each 5mm apart and determine that they are on an arc.  You convert the arc to a G2 move and pass it to the printer.  The printer looks at the arc and finds that its minimum line segment for an arc is 1mm.  So it appears (on the surface) that the resolution goes up from 5mm facets, to 1mm facets.

     

    Here is a shot of a tube that I exported from Acad in low res (FACETRES at 0.25).  Lots of big facets....

     

    So it's the export from the modelling software that determines whether it's a circular cylinder. There's no way to put the 0.25 facetres file on the buildplate and change settings in Arc Welder to smooth the results into a circle? (It makes absolute sense that it would work that way, I'm just making sure I've understood correctly.)

  • Link to post
    Share on other sites
    Posted · Arc Welder Anti Stutter plugin

    That's what it looks like to me.  Remember that there are no true circles.  The G2/G3 commands are still faceted and the Marlin firmware "MM_PER_ARC_SEGMENT (Default 1mm)" can be altered when recompiling firmware to give a higher resolution.

    So it looks like it remains up to the settings of the export utility that creates the STL from the CAD model to determine the resolution.  That resolution at some point can be picked up by Arc Welder and turned into G2/G3 moves whose max resolution would be MM_PER_ARC_SEGMENT in the firmware.  If the MM_PER_ARC_SEGMENT were too short you would go back to stuttering as the number of calculations would start to overwhelm the printer/processor again like the extremely short G1 moves were doing in the first place.

    So my best guess is that there is a small window where Arc Welder could possibly increase the resolution of an STL file.  But if someone was to ask me if it increased model resolution I'd tell them "no" which appears to be much closer to being correct than answering "yes".

    • Like 1
    Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    • Our picks

      • Ultimaker turns 10: A look back
        Ultimaker is turning 10 years old and that means it is story telling time! We'll explore 2010-2014, traveling through the evolution of the business from the Protobox and Ultimaker Original, to the major leaps forward with the Ultimaker 2 and Ultimaker 3.
          • Like
        • 0 replies
      • Ultimaker Transformation Summit
        Visit our virtual showroom and learn more about the Ultimaker ecosystem!
        • 14 replies
      • New here? Register your Ultimaker for free 3D printer onboarding course
        Hi,
         
        Often getting started is the most difficult part of any process. A good start sets you up for success and saves you time and energy that could be spent elsewhere. That is why we have a onboarding course ready for
        Ultimaker S5 Pro Bundle, Ultimaker S5, Ultimaker S3 Ultimaker 2+ Connect.   
        They're ready for you on the Ultimaker Academy platform. All you need to do to gain access is to register your product to gain free access. 
        Ready? Register your product here in just 60 seconds.
          • Like
        • 0 replies
    ×
    ×
    • Create New...