5axes / Calibration-Shapes

A Cura plugin that adds simple shapes (cube, cylinder, tube) and also 24 Calibration and test parts + 7 Postprocessing scripts
GNU Affero General Public License v3.0
330 stars 69 forks source link

Retraction Tower Part Has Bridges That Seem Unnecessary For Tuning Retraction Speed and Distance #96

Open borland1 opened 2 years ago

borland1 commented 2 years ago

Tuning my printer with PETG filament. I have stringing under control, but the unsupported bridging in the Retraction Tower Part is causing print failures. Nothing said in the documentation about what the bridges are there for in tuning the retraction settings.

I don't have any part fan control as my extruder's fan duct only diverts part of the flow to the part. As a workaround, I should have added supports under the bridges.

Suggest part bridges have ability to be removed by a script option (check mark) or by modifying the part to remove the bridges.

5axes commented 2 years ago

Any suggestions for a more appropriate design are welcome. It is not possible to remove the bridges using the scripts but another design is possible. The presence of the bridges is there to make a clear separation between the zones and normally make a kind of reset of the stringing before starting the new zone. The objective is also to make the print not monotonous to avoid that the stringing creates, accumulation areas of material.

But I agree with you that this model may not be the most relevant and that we could perhaps gain in printing time.

borland1 commented 2 years ago

Well the part seems fine with the exception of the bridging. There are already numbers on one side of each level and detents between levels, so the bridging really doesn't add much.

My fan duct is less effective at cooling the bridge as the level rises higher above the bed.

RetractionTower

ImagineerNL commented 2 years ago

@5axes commenting out line 74 (under the //liason) in the SCAD file removes the bridge. Other retraction tests like e.g. TeachingTech indeed also dont have the bridge in it and it might create interpretation errors when bridging errors obfuscate retraction tests.

p-v-n commented 2 years ago

I agree, bridges are unnecessary. Here is a model I just made in a few minutes. Shared under CC BY-NC-SA 4.0 license (https://creativecommons.org/licenses/by-nc-sa/4.0/)

layer_height = 0.2; // [0.1 : 0.01 : 0.3]
nozzle_diameter = 0.4; // [0.1: 0.1: 1.0]
pole_radius = 5; // [1 : 0.1 : 10]
poles_distance = 50; // [5 : 0.1 : 100]
$fn = 30; // [10 : 1 : 100]

test_height = 500 * layer_height;
wall_width = 2 * nozzle_diameter;
base_brim = 10 * nozzle_diameter;

base_width = 2 * (base_brim + pole_radius) + poles_distance;
base_depth = 2 * (base_brim + pole_radius);
base_height = 4 * layer_height;

cube([base_width, base_depth, base_height], center = true);

for (offset = [-poles_distance / 2, poles_distance / 2] ) {
    translate([offset, 0, base_height / 2]) {
        difference() {
            cylinder(h = test_height, r = pole_radius);
            cylinder(h = test_height + layer_height, r = pole_radius - wall_width);
        };
    };
};

I setup a 0.1mm retraction increase every 5 layers, starting from layer 4. That way I virtually continuously tested all retractions between 0mm and 10mm. @5axes , if you decide to use the above in this project, feel free to modify it as you see fit.

5axes commented 2 years ago

On my point of view no added value, no identification of the zones, how to determine the value that is acceptable and why test every 0.1 mm? image

ImagineerNL commented 2 years ago

Then i'd suggest using my solution, which uses exactly the same model, just without the bridges

https://github.com/5axes/Calibration-Shapes/issues/96#issuecomment-1160291841

5axes commented 2 years ago

The bridge issue is not a problem of retraction and same as flow/temperatur etc it should be solved before to find the right retract parameter. I need to make some test in a "normal" situation of result with and without bridge. As mentioned above for me the bridge has an utility in the testing process. But this is not an absolute certainty I would like to be able to show that its use has a utility. In the absence of convincing results it is then possible that I remove this element in a next version.

p-v-n commented 2 years ago

On my point of view no added value, no identification of the zones, how to determine the value that is acceptable and why test every 0.1 mm? image

My apologies for not mentioning how to derive the acceptable values as I mistakenly thought that it's obvious and doesn't need explanation. To derive the acceptable value, one should identify the minimum height H, where the stinging is the smallest. Then, assuming that the starting value at height 0 (top of the base) is R0, and the end value at Hmax is R1, then desired value can be calculated using this formula:

R0 + (R1 - R0) * H / Hmax

For example, if the starting value is R0 = 1, the end value at height Hmax = 100mm is R1 = 11, and the minimum stringing is observed at height H = 40mm, then the acceptable value is 1 + (11 - 1) * 40 / 100 = 5. This is similar, for example, how Klipper suggests doing pressure advance calibration: https://www.klipper3d.org/Pressure_Advance.html.

As to why 0.1mm, it just gives a gradual transition. One can choose bigger steps, i.e. more coarse granularity, and, perhaps, shorter model.