Ultimaker / CuraEngine

Powerful, fast and robust engine for converting 3D models into g-code instructions for 3D printers. It is part of the larger open source project Cura.
https://ultimaker.com/en/products/cura-software
GNU Affero General Public License v3.0
1.69k stars 888 forks source link

Incorrect model calculation, the lines are not welded if the flow is less than 100% #1764

Open tca72 opened 2 years ago

tca72 commented 2 years ago

Cura 5.2.0

Windows 10 printer Artillery X1. artillery_base.def.json : "line_width": { "value": "machine_nozzle_size * 1.1" }

Qt

PyQt

Display Driver

On the length of extrusion has been properly configured , I would like to setup the flow to get the proper line width. So: I print a cube 20x20x20 in the mode "Spiralize outer contour" to measure the line width (wall) with only one line printed in this vase mode with all normal settings. nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 100 % I measure the wall (one line printed) that should be around 0.44mm (line width), but the average measured value is 0.67 mm. So in order to correct the line width, I modify the flow to 66% ( 0.44/0.67) *100 = 65.8%

After that I print again the cube and the measured value of the wall witdh is 0.45. Objective reached.

Then I decide to untick the "spiralize outer contour" in order to print the Cube . But first I discover that when I slice, the line appears not attached, small space between them (due to the reduction of the flow). So I was thinking probably Cura did not show the result of correction of flow in the preview, then I generate the Gcode and print it.

But the result is the same, the lines are not attached (disjointed) , meaning the reduction of the flow is not taken into consideration when Cura is computing the line path and the preview.

To reproduce it and see it in the preview:

1) create a cube of 20x20x20mm and import into Cura.

2) Test 1 : normal print nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 100 % Spiralize outer contour = on CUBE_VASE_FLOW100 3) Test 2 : high flow rate reduction nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 66% Spiralize outer contour = on CUBE_VASE_FLOW100

you can see in CUBE_VASE_FLOW100 the space between lines, Cura engine is not taking into account the flow modification in the model path.

Actual Results

Space between 2 lines if flow is under 100% see CUBE_VASE_FLOW66%

Expected results

No space between 2 lines if flow is under 100%, Cura have to recalculate the printing path in order to take into consideration the reduction of line_size if the flow is modified (here reduced).

Additional Information

CUBE_VASE_FLOW100% nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 100 % Spiralize outer contour = on

average wall thickness measured with caliper is 0.67mm

CUBE_VASE_FLOW100

CUBE_VASE_FLOW66% nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 66% Spiralize outer contour = on average wall thickness measured with caliper is 0.48mm

CUBE_VASE_FLOW66

FULL__CUBE_FLOW100% nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 100 % Spiralize outer contour = off

cube dimension average 20.05

FULL_CUBE_FLOW100

FULL_CUBE_FLOW66% nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 66% Spiralize outer contour = off

cannot be printed as the lines are spaced

FULL_CUBE_FLOW66

FULL__CUBE_FLOW100% layer 1 nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 100 % Spiralize outer contour = off here no space between lines.

FULL_CUBE_FLOW100_layer1

CUBE_FULL_FLOW66% layer 1: nozzle: 0.4 layer height = 0.2 line width = 0.44 (all all subsequents) Flow = 66% Spiralize outer contour = off here space between lines, flow is not taken into account to recalculate the line path.

FULL_CUBE_FLOW66_layer1

ky438 commented 1 year ago

any update? I am seeing this problem also

tca72 commented 1 year ago

no update, I perform many test with many parameters in Cura, also change the nozzle to quality nozzle brozzl and Trianglelab, but still same behaviour. Even with a 0,3 nozzle configured in Cura to 0.4 nozzle (line width = 0.44) I still got 0.59mm, 0.6mm, so seems no change.