sojhalb / CuraEngine

CuraEngine is a powerful, fast and robust engine for processing 3D models into 3D printing instruction for Ultimaker and other GCode based 3D printers. It is part of the larger open source project called "Cura".
https://ultimaker.com/en/products/cura-software
GNU Affero General Public License v3.0
0 stars 0 forks source link

Cut artifacting for layers with many travels #11

Closed nguyri closed 5 years ago

nguyri commented 5 years ago

Layers 99+ for test cube print show some artifacting which is thought to be because there are a large amount of travels (and therefore cuts) being inserted for relatively small amounts of extrusion.

nguyri commented 5 years ago

After some changes this seems to be happening at the end of infill layers, e.g. the end of layer 3 (layer 2 in gcode) has 4 travels, the second to last is convinced that it is not a travel.

This may be unrelated to the lines in the test cube which is not actually clear yet if this is actually a bug with the fiber cut or the cura display

nguyri commented 5 years ago

Excerpt from cube layer 41 w and w/o cuts with cuts produces bad extrusions: ;TYPE:WALL-OUTER G1 B-8.559 Y49.825 E601.34707 G1 B-8.559 Y25.815 E603.09395 M98 P/macros/cut.g G1 B-8.559 Y0.175 E604.95943 G1 B-7.147 Y0.175 E605.0899 G1 B-7.147 Y49.825 E608.70226 G0 B-7.347 Y49.825 G0 B-7.497 Y49.125 G1 F2100 E607.90226 G0 F1200 B-7.167 Y48.839 G0 B-6.482 Y48.839 G1 F2100 E608.70226 G1 F3600 B6.47 Y48.839 E610.07 M98 P/macros/cut.g G1 B6.482 Y48.839 E610.07127 G1 B7.167 Y48.839 E610.14361 G1 B7.481 Y48.839 E610.17677 ;TYPE:FILL

without cuts looks clean: ;TYPE:WALL-OUTER G1 B-8.559 Y49.825 E540.01866 G1 B-8.559 Y0.175 E543.63102 G1 B-7.147 Y0.175 E543.76149 G1 B-7.147 Y49.825 E547.37385 G0 B-7.347 Y49.825 G0 B-7.497 Y49.125 G1 F2100 E546.57385 G0 F1200 B-7.167 Y48.839 G0 B-6.482 Y48.839 G0 B6.482 Y48.839 G0 B7.167 Y48.839 G0 B7.481 Y48.839 ;TYPE:FILL

Seems like the last three travels are mistaken as extrusions which is bizarre, another question is why there are two cuts anyways given that the outer wall can print as one line

nguyri commented 5 years ago

From debug log: adding a cut to layer 41 for path_idx: 92 the cut is inserted at: 50

So the second cut which is inserting itself into the travel is from the second infill (path_idx 92). It should backcalculate only using extrusions, which makes the fact that the travel is turned into a extrusion bizaare

nguyri commented 5 years ago

Turns out the loop that added all the points to calculate where the cut would be was definitely adding all the points and not ignoring the travels. This issue is closed but it looks like there is still some weird artifacting going on, more on that on a later issue.