-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Feature Request: Conditional Bed leveling #3055
Comments
Which printer do you use? The UM3 only levels when needed by default for example, but many other printers just level every time before printing. One way to solve this would be to change the start G-code to use the simpler G28 and manually perform a full mesh levelling when you feel it's needed. The Cura core team primarily builds features for Ultimaker machines, 3rd party machines that require special features have lower priority. Anyone could however make a pull request contribution to implement this. |
@fiveseven808 indeed, you can tweak the start gcode in the Machine Settings from within Cura. It's a bit of a hassle, but if you keep G28 as default and only add G29 when needed, then you should be fine? It would work with the octoprint plugin then. |
This goes for Ultimaker printers just as well as for others, even if the Ultimaker 3 has a separate entry in the menu that sends the G29 command. Allowing a profile to change the start g-code based on the current print's volume is complex. It would make settings dependent on the current print volume. And when they are, settings that influence the disallowed areas could depend on the current print volume as well. And when they are they could cause objects to enter the disallowed areas, which influences the current print volume again. So there is a circular dependency. That might not be a realistic case, but in the order in which things will need to be updated there will be a circular dependency too then, so either something doesn't get updated properly or it ends up in an infinite loop. |
Tell us more about your system. Are you running Marlin? It doesn't sound like you have swappable bed. So, if you want to save time, then instead generate a good mesh, save it in EEPROM, and then use that mesh instead of generating a new one each time. If you're on Marlin, then enable/ setup bilinear or UBL auto bed leveling. Both have the option to save the mesh and then load it instead of re-generating each time. Read up more on http://marlinfw.org/docs/features/auto_bed_leveling.html and http://marlinfw.org/docs/features/unified_bed_leveling.html |
PS: If you use the bilinear, then it's basically the same as you're used to (UBL is potentially different). G29; generate mesh and then instead of G29, use M420 S1 to activate the mesh - in your Cura start gcode. Tadaa. |
(All of this assumes you're running a reasonably recent version of Marlin) |
All of Ultimaker's printers are running Marlin, but it's a version of Marlin that is split off a few years ago, in June 2013 in the case of UM2 and UM3. |
I'm going back through some older requests. |
I was wondering if this was possible, but I would like to have some sort of conditional bed leveling implemented.
What I mean buy this is for anything 3cm in diameter and smaller, I do not need my entire bed mesh leveled via a G29 command. Just having a G28 command get the center position of my bed is fine.
I often go in and tweak the G-code manually to omit the G29 command if there's a small object I want to print, but since my code gets sent straight to octoprint, it becomes a little more difficult to tweak it once it's sent.
The whole idea behind this is saving time. I have a 5x5 mesh bed leveling (my bed is really screwed up), and tweaking g-code on small objects that I only print once can be a waste of time (although a time saver on objects i want to print on a reoccurring basis).
I would be interested in a feature, specific to printers with auto bed leveling that would be able to recognize the bed footprint of an object, and if it is smaller than a certain customizable size, omit a G29 command and just use the standard G28 command only. Since cura seems to have many experimental features for slicing, I figured it wouldn't be too unreasonable to put a feature request here.
What do you think?
Thanks for reading!
The text was updated successfully, but these errors were encountered: