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.
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 papasan15 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.
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...
GregValiant 1,231
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.
- 1
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 papasanGregValiant 1,231
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.
I see, thanks for the info.
GregValiant 1,231
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- 3 weeks later...
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!
G-code.zip
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.
GregValiant 1,231
"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.
- 2
- 2 weeks later...
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.
GregValiant 1,231
Magic.
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- 2
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.
GregValiant 1,231
"...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.
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.
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
Edited by GregValiant
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.)
GregValiant 1,231
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".
- 1
- 3 months later...
I think I'm getting a problem from the plugin with very steep straight lines. Thought it was the belts on my printer, but found out its software related. Instead of going straight to a point, I get these small zigzags on a few sides. kind of like an old screen trying to make a straight line.
Have you tried slicing and printing a simple object like a cylinder? If your firmware does not support arc movements, don't use this plugin.
Other than that it is hard to diagnose what is going on without pictures, screenshots and/or any information about the printer and firmware you use.
Recommended Posts
brunoosti 6
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?
Link to post
Share on other sites
papasan 0
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