SoftFever / OrcaSlicer

G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
https://discord.gg/P4VE9UY9gJ
GNU Affero General Public License v3.0
7.34k stars 872 forks source link

ARC fitting is rare and inconsistent #627

Closed BrettThePark closed 1 year ago

BrettThePark commented 1 year ago

Describe the bug ARC fitting seems to be rarely used, in places where it should be fully used. Often in models I have circles which end up being drawn as line segments. I am not sure if this caused by a conflicting setting or if the fitting tolerance is too low (I am surprised the value cannot be adjusted within a profile, unless I missed it).

3mf File for This Bug This is the 3mf file (change zip extension back to 3mf). SimpleCylinderArcFail.zip

To Reproduce I created a cylinder in OrcaSlicer that is about three layers high. I set ARC fitting on with no top or bottom layers and a 15% infill (concentric).

Expected behavior I expect all lines to be drawn using arcs.

Screenshots Layer 1 uses G3 codes to draw the walls and infill

Layer 1 Wall

Layer 2 uses G1 codes for the walls, and G3 codes for the infill

Layer 2 Wall

Printer model BambuLab X1C

Desktop (please complete the following information):

npoulos commented 1 year ago

I've found enabling Arachne uses less arcs if the line needs to be variable in width. Have you tested with Classic turned on?

BrettThePark commented 1 year ago

The file provided uses Classic rather than Arachne (similar results are seen from both).

BrettThePark commented 1 year ago

After digging through the code it appears that the arc welding tolerance is set by the Resolution value in the UI (the tool tip talks about "simplifying" ... which from a users perspective does not make it clear that using arc fitting is "simplifying". The issue with this value is that having a large resolution increases the likelihood of arcs, but it also decreases the quantization of lines. I am not sure having a single value tied to both of these actions is a good idea as the outcome of "more arcs" is "crappier lines". It also seems like every with "comically" large values of resolution, often only certain types of lines are correctly turned into an arc, for example my outer walls are arcs, but my inner walls are lines.

github-actions[bot] commented 1 year ago

GitHub bot: this issue is stale because it has been open for 90 days with no activity.

github-actions[bot] commented 1 year ago

GitHub bot: This issue was closed because it has been inactive for 7 days since being marked as stale.