Welcome! Log In Create A New Profile

Advanced

Marlin Arc Detection

Marlin Arc Detection
January 27, 2012 04:52PM
Is anyone else seeing some "phantom" arcs? I know they are not in the g-code, but now that I've switched to Marlin I see some features connected in odd arcs... A simple example is in the "pulley.stl".

Using slic3r, and Marlin, I cannot get a print without the occasional artifacts.

I'd throw in a picture, but I tossed my bad parts... Is there a straitforward way to tune the arc detection? Or even turn it off now that the G2/G3 commands exist?

Edited 1 time(s). Last edit at 01/27/2012 10:18PM by TheIrrationalDevotion.
Re: Marlin Arc Detection
January 28, 2012 08:23AM
Yes this still happens frequently, even with the latest version.
I found that generating stls with more finely tesselated circles ($fn in openscad) may improve the detection in some cases.
Re: Marlin Arc Detection
January 28, 2012 08:55AM
I think there is always going to be some ambiguity converting polygons to circles. I saw an example of how slic3r was "better" because it produced a round funnel instead of one with facets. However the STL on thingiverse was a low polycount one, so it had obvious facets.

If I want something round I just use $fa = 5, $fs = 0.5. I don't expect my slicer to modify the geometry.


[www.hydraraptor.blogspot.com]
Re: Marlin Arc Detection
January 28, 2012 09:13AM
A valid point nophead. But those of us working in a BREP modeler instead of OpenSCAD have true curved faces until we export to stl. I see this as the slicer restoring the geometry, not modifying it.
Re: Marlin Arc Detection
January 28, 2012 10:05AM
When I used CoCreate, which I think is BREP, I exported STLs with the angle accuracy set to 5 degrees and the linear accuracy 0.1mm. That creates smooth looking circles as well. Are you using something that has no control over the STL accuracy?


[www.hydraraptor.blogspot.com]
Re: Marlin Arc Detection
January 28, 2012 12:10PM
I have access to SolidWorks, and it has similar controls. The problem is most apparent to me when I print a large radius. I did some parts a few months ago that were long enough to reach corner to corner on my Prusa, with arcs on the long sides of about a 400mm radius. With the highest accuracy settings SolidWorks allowed, the facets were still visible.
Re: Marlin Arc Detection
January 28, 2012 01:27PM
@DaleDunn

I use SW to do all of my modeling as well, but haven't had the chance to look. Does it have the same functionality as openscad's
"$fa = 5, $fs = 0.5"

Also, if I'm following correctly; Increasing the # of facets will lower the # of arc-artifacts? or is that backwards or wrong.

Thanks for the help guys, I though I was the only one seeing this as I didn't see anyone else mentioning it.
Re: Marlin Arc Detection
January 28, 2012 02:03PM
Seems poor for a professional package as it makes it useless for any 3D printing or milling, which needs even smaller facets as there is no smoothing effect.

It takes a surprisingly small number of facets to stay within linear accuracy of say 0.1mm but the eye can see small angular changes due to the difference in reflected light intensity. That is why you need an angle accuracy setting as well. Of course if you have segment pausing / acceleration artefacts that highlight the vertices then they will always be visible unless they are converted to arcs but it shouldn't be necessary with modern firmware.

This was sliced with Skeinforge and printed with simple firmware, no path planning, etc. The facets aren't noticeable, except in the screw holes, which are polyholes.



Edited 3 time(s). Last edit at 01/28/2012 02:09PM by nophead.


[www.hydraraptor.blogspot.com]
Attachments:
open | download - fan_guard.JPG (73.6 KB)
Re: Marlin Arc Detection
January 28, 2012 03:13PM
nophead Wrote:
-------------------------------------------------------
> Seems poor for a professional package as it makes
> it useless for any 3D printing or milling, which
> needs even smaller facets as there is no smoothing
> effect.

Perhaps this is why profesional CAM software works directly with the BREP instead of using a faceted intermediary representation. I've never even heard of anyone outside of hobbyists contour mill from an stl. For professional 3D printing... I've only done that once. I think it might have been an stl I uploaded (about 8 years ago!), but there was no trace of any facets in the parts we got back. I think they (Quickparts) must have been using some kind of smoothing like arc detection too.

For my hobby purposes, it would be nice if I could select finer export tolerances to compensate for the loss of geometric fidelity during export to stl, but in a professional setting it's a non-issue.

Facets on the part you show would be very hard to see. That part is still small compared to the parts I was discussing. Not only did the parts reach from corner to corner on the bed, the curved surface was almost 50mm tall. Some facets on this compound curved surface were about 4 mm wide and 6 or 7 mm tall, if I remember correctly. Pretty much a torture test for revealing facets. On parts that reprappers are usually making, the facets aren't so noticeable. With arc detection acting as a smoother, they should never be noticeable.
Re: Marlin Arc Detection
January 28, 2012 03:18PM
TheIrrationalDevotion Wrote:
-------------------------------------------------------
> @DaleDunn
>
> I use SW to do all of my modeling as well, but
> haven't had the chance to look. Does it have the
> same functionality as openscad's
> "$fa = 5, $fs = 0.5"
>
> Also, if I'm following correctly; Increasing the #
> of facets will lower the # of arc-artifacts? or is
> that backwards or wrong.

It's not exactly the same functionality, but close. The end result is the same. It determines the maximum deviation from the ideal geometry. When you select .stl as the file type to save in SolidWorks, an Options button will apear in the lower right corner of the SaveAs window. You can find all the export options in there (for other file types as well).

I'm not sure if a larger number of facets will reduce the number of artifacts or not, as I'm not sure how the arc detection is working. Just guessing, it does seem that having more data to fit arcs to would be helpful.

Edit: I just remembered that this thread is about Marlin, not Slic3r. So the artifacts that don't appear in the Gcode probably have nothing with the arc detection. There may be a problem with the arc command interpretation in Marlin accidentally making anticlockwise arcs between endpoints instead of clockwise and vice-versa. In which case, the number of articafts is probably not affected by the number of facets (other than a new file with more facets being a fresh roll of the dice, so to speak). I'm still guessing though, but that's what I think.

Edited 1 time(s). Last edit at 01/28/2012 03:25PM by Dale Dunn.
Re: Marlin Arc Detection
January 29, 2012 12:21AM
After some experimentation it seems inversely proportional-

More facets = More artifacts.

Not 100% that its not Marlin, but because it seems correlated with the .stl details I've started discussion on this matter in the Slic3r area.
Re: Marlin Arc Detection
January 29, 2012 05:37AM
Quote

I've never even heard of anyone outside of hobbyists contour mill from an stl.

Many professional packages do, but hidden from the user. Calculating a path through tons of fine grained triangular facets is simply faster and less error prone than trying on true smooth surfaces.

Quote

I think they (Quickparts) must have been using some kind of smoothing like arc detection too.

Having a tesselation error of 0.02 mm or less makes edgy surfaces go away even for very accurate processes like Stereolithography. Using this, it's just a matter of good path planning / look ahead to get smooth stuff printed in reasonable time.

Doing the smoothing on the 3D geometry is better, as you can not only take horizontal neighborhood into account, but also vertical ones. Algorithms and software increasing the smoothness of curved geometry exists, even GPL'd: [gts.sourceforge.net]


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Marlin Arc Detection
January 29, 2012 06:19AM
The filament does the smoothing for you because its minimum bend radius is proportional to its width and is far more than the tesselation error.

So no clever software needed for FFF.


[www.hydraraptor.blogspot.com]
Sorry, only registered users may post in this forum.

Click here to login