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

First Layer Height Can't be Greater than Nozzle Diameter Error #1035

Closed
AndyEveritt opened this issue Mar 27, 2021 · 9 comments
Closed

First Layer Height Can't be Greater than Nozzle Diameter Error #1035

AndyEveritt opened this issue Mar 27, 2021 · 9 comments
Labels
enhancement fix is live in the last release Please download /build the last release and try to reproduce. problem

Comments

@AndyEveritt
Copy link

AndyEveritt commented Mar 27, 2021

Version

2.3.55.5

Operating system type + version

Windows 10 & Ubuntu 20.04

3D printer brand / version + firmware version (if known)

E3D Toolchanger. Reprapfirmware 3.2

Behavior

Description

Get "First layer height can't be greater than nozzle diameter" error when using multi extruder printer with different nozzle diameters
image

Steps to Reproduce

  • Set the nozzle diameter for extruder 1 to be larger (eg 0.6 mm), and extruder 2 to be small (eg 0.3 mm)
    • image
    • image
  • Set the first layer height to be a percentage
    • The value must be larger than 100 * (nozzle_diameter_2 / nozzle_diameter_1)%
    • image
  • Change the extruder to be used for at least one of the parts on the build plate to extruder 2
  • Try to slice

Expected Results

The first layer height percentage would be calculated from the nozzle diameter of the extruder that is being used for the specific part.

Actual Results

The first layer height percentage is calculated from the nozzle diameter of extruder 1 even if it is not the one being used.

Project File (.3MF) where problem occurs

first layer height error.zip

@AndyEveritt AndyEveritt changed the title First Layer Height Can;t be Greater than Nozzle Diameter Error First Layer Height Can't be Greater than Nozzle Diameter Error Mar 27, 2021
@supermerill
Copy link
Owner

supermerill commented Mar 27, 2021

yes, it's an unfortunate problem.
in the tooltip I wrote "from default extruder" but I should have written, "from the first extruder".

Problem: I have a collection of extruders used in a print.
what is the one I should take? the bigger one?

@AndyEveritt
Copy link
Author

Yeh the tooltip does line up with what is happening but I think what is happening should be changed.

The easiest fix to remove the error from occuring would be to calculate the layer height from the smallest nozzle diameter. However I think the better solution, that would make it more consistent with layer width percentage calculation, would be to calculate each objects first layer height independently.

@AndyEveritt
Copy link
Author

I am not familiar with the technicalities of how PS/SS deals with various layer heigths for different objects but it must support it to some extent due to the variable layer height tool

@supermerill
Copy link
Owner

would be to calculate each objects first layer height independently.

but you can print an object with multiple extruders, so I have to take the min ?

@AndyEveritt
Copy link
Author

I don't think you can set multiple extruders for a single object in PS but may be wrong
image

If you can, then yes, I think take the smallest.

@supermerill
Copy link
Owner

You can, by using a dirrefent extruder for perimeter, infil... also there is the support extruder that is used for the whole plater.
You can also add parts into an object with a different extruder.

@AndyEveritt
Copy link
Author

Ok, I hadn't used that feature in SS so thats good to know.

  • I think that the limit of not letting the layer height be larger than the nozzle diameter is a good limit to keep.
  • If using multiple nozzles per object then do they all need the same layer height? (I think they would?)
    • If yes then use the smallest nozzle that is used for the first layer for the calculation as this is the only way to ensure the limit is never exceeded.
      • You probably don't want to use the nozzles not used for the first layer but still used for the object in the calculation as they have no effect on the first layer sticking to the bed.
    • If no then calculate the first layer height for each nozzle seperately (perimeters, infill, etc.)

Would this work?

@supermerill
Copy link
Owner

supermerill commented Mar 31, 2021

I'll see if I can grab the information everywhere it's needed.

one problem is that the number of extruders used in the first layer may depend on the first layer height! If a second small extruder is used at the second layer, a big first layer may put tit in the first one, but then the first layer should be smaller, and so it's on the second one!
A simple solution is to use all extruders used on the print, not only the ones that could be on the first layer.

@AndyEveritt
Copy link
Author

That's a very good point. Using all nozzle diameters used in each object seems to be making the most sense in that case

supermerill added a commit that referenced this issue Sep 6, 2021
 - now use the thinnest extruder used by the object if %
 - more consistent over the software
#1035
@supermerill supermerill added the fixed for the next version That means that you should be able to test it in the latest nightly build label Sep 6, 2021
supermerill added a commit that referenced this issue Sep 6, 2021
 - now use the thinnest extruder used by the object if %
 - more consistent over the software
#1035
@supermerill supermerill added fix is live in the last release Please download /build the last release and try to reproduce. and removed fixed for the next version That means that you should be able to test it in the latest nightly build labels Sep 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement fix is live in the last release Please download /build the last release and try to reproduce. problem
Projects
None yet
Development

No branches or pull requests

2 participants