Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom Bed Level Pattern size not calculated correctly #123

Open
yakoder opened this issue Sep 10, 2024 · 1 comment
Open

Custom Bed Level Pattern size not calculated correctly #123

yakoder opened this issue Sep 10, 2024 · 1 comment

Comments

@yakoder
Copy link

yakoder commented Sep 10, 2024

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

Steps:

  • Set Build Plate Adhesion type to Raft and Raft Extra Margin of 5.0mm
  • Add Custom Bed Level Pattern using 100% (number of rings 'should' be irrelevant, but I used only 1) [Tested with both Concentric Squares and Concentric Circles]
  • Check reported model size (Cura lower left) (for my 235 x 235 printer bed, the model size is 224.0 x 224.0)
  • Removed AutoTower Model (using 'A' button)
  • Set Build Plate Adhesion type to None
  • Add same Custom Bed Level Pattern as above
  • Cura now reports model size different than previous test (for mine: 234.2 x 234.2) [Note: I actually expected 235x235, as that is the configured bed size. So this is a 2nd "error" in calculation that AutoTowers is subtracting twice the nozzle diameter. Put differently 100% is actually 99.66%.]
  • Removed AutoTower Model (using 'A' button)
  • Set Build Plate Adhesion type to Brim and Brim Width to 6.0mm
  • Add same Custom Bed Level Pattern as above
  • Cura now reports model size of 224.0 x 224.0
  • Removed AutoTower Model (using 'A' button)
  • Change Brim Width to 15mm
  • Add Same pattern; Size is 224.0 x 224.0
  • Remove Model; Change to Raft with 15mm extra margin; Size is now 204.2 x 204.2
  • Remove Model; Change to Skirt with 3mm Skirt Distance; Size is now 228.2 x 228.2
  • Remove Model; Change Skirt Distance to 15mm; Size is now 228.2 x 228.2

Conclusions:

  • If a Brim is enabled, the Brim Width is not used for calculating the AutoTowers model width, but a "hard coded" value is used (e.g., bed_width - 11mm; or bed_width - 2 * 5.5mm)
  • If a Raft is enabled, the Raft Extra Margin is used for calculating the AutoTowers model width.
  • If a Skirt is enabled, the Skirt Distance is not used for calculating the AutoTowers model width, but a "hard coded" value is used (e.g., bed_width - 12mm; or bed_width - 2 * 3mm)
  • If Skirt, Raft, or None is configured for Bed Adhesion Type, the Nozzle Diameter is used for calculating the AutoTowers model width

Expectation:

  • If a model is set to 100%, that should exactly match the defined print bed dimensions without any adjustment for nozzle diameters or any margins/padding used by the skirt, brim, or raft that is being removed by this extension.

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
Copy link
Author

yakoder commented Sep 10, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant