kartchnb / AutoTowersGenerator

A Cura plugin to automate the creation of 3D printer calibration towers (e.g. temperature towers, retraction towers, etc)
GNU Affero General Public License v3.0
138 stars 11 forks source link

Custom Bed Level Pattern size not calculated correctly #123

Open yakoder opened 1 week ago

yakoder commented 1 week ago

It appears as if the Custom Bed Level Pattern size is calculated before removing any raft/brim, not after.

Steps:

Conclusions:

Expectation:

Rationale for wanting 100%: Verifying nozzle-to-bed alignment to discover if any nozzle X/Y offset is needed. (I had a large print result in multiple lines of a brim print off the right edge of the print bed.

Cura versions used: Ultimaker Cura 5.8.1; Elegoo Cura 5.6.0 build 231229

yakoder commented 1 week ago

Created "as-expected" model in OpenSCAD (below). Cura does not Auto Position the model on the build plate, nor does Arrange All Models (Ctrl+R) position the model, but "Center Selected" does put the model in the expected position.

Cura does report a size, for the below generated model, of 235.0 x 235.0 x 0.2 mm.

I tried reducing the model size by 1, 2, 3, and 4 times the nozzle width, and Cura didn't open the model positioned on the build plate with Build Plate Adhesion Type of 'None'. The model was opened in a correct position when 5 times the nozzle width was subtracted off the size of the model (resulting in a 233.0 x 233.0 x 0.2 mm model).

Conclusion: Cura has issues positioning models that exactly match are "too close" to the configured print bed size.

`noz = 0.4; lyr = 0.2; clr = 0.005; en3maxXY = 235;

difference() { cube([en3maxXY, en3maxXY, lyr]);

translate([noz, noz, -clr])
cube([en3maxXY-2*noz, en3maxXY-2*noz, lyr+2*clr]);

}`

Edit: I should have tried Slicing before posting. Cura refuses to slice any model that it cannot auto-position. Therefore, the maximum printable size appears to be bed_width - 5 * nozzle_diameter.

For my original need (verifying print bed size) Cura does slice a model that is 6 nozzles smaller (232.6 x 232.6) than the build plate with a brim width of 3.0 mm. (That, mathematically, produces a printed item of 235.0 x 235.0.)

The "Cura Sliceable Maximum" not matching the "Machine Build Plate Size" was a surprise, and might be the rationale behind some of the AutoTowers Bed Pattern Size "expected" vs "actual" differences.