-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Empty layers check converted to a warning (except for the first layer)
- Loading branch information
1 parent
ba01467
commit f326352
Showing
1 changed file
with
14 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
f326352
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just built the latest version today and tested it. This empty layer error does not account for support extrusion on the first layer.
Previously, if there were support structures on the first layer, there was no error. Now, I can not export the gcode.
The reason the object I am printing does not produce extrusion on the first layer is because of the settings/orientation. See:

Maybe the best way to fix this would be to force the object to be lower in layer height increments until extrusion is produced.
f326352
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@n8bot You are right. The test gives false positive when first layer is both object and support layer. Hopefully fixed with d910f79. Can you retest it, please?
Thank you very much for letting us know.
f326352
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, that wasn't exactly what I had noticed but I'm glad you found that. The orientation/settings I use for this model never generate any object extrusion on the first layer. I was merely noticing the error being triggered when only extrusion/skirt was on the first layer, with no object extrusion.
Regardless, I'll build and test the new changes tomorrow! Thank YOU for the continued work on PS.
f326352
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I built PS including your change, as well as this recent change (not sure if it is directly related) f7ceffb
It seems to work fine, as it did before! Now, I can slice the model, and while there is no object extrusion on the first layer, the presence of support extrusion on the first layer correctly suppresses the error. Also, when I disable support generation, the error correctly comes up because there is truly no extrusion (except skirt) on the first layer.
So, the error check seems fixed! I may open an issue about model not generating first layer extrusion -- a possible fix could be if the model generates no extrusion on the first layer, just because the surface area is literally infinitesimal, then the model could be lowered in Z until a suitable first layer is produced (perhaps, with a user setting for mm^2 of surface area required for first layer).
Cheers!
f326352
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that was the problem. The condition above throws error in case that
object_layer==true
and there are no object extrusions. But in case that alsosupport_layer==true
and it has support extrusions, it is fine. The second bit was not covered correctly by the compound condition.Yes, we also discussed this, but implementing it would require more work and testing that all corner cases (rafts, supports, wipe tower, spiral vase mode, custom gcodes, modifier meshes,...) are handled correctly. Maybe one day.
Glad to hear that. What is missing is actually reporting the warning if it is triggered, but that is coming soon.
Thanks for keeping an eye on us.
f326352
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool. A final thought is that maybe simply allowing the user to manually force the model Z position below the calculated minimum would work. A warning that this may produce extrusion below z=0 would be sensible alongside that. Just a thought!