-
Notifications
You must be signed in to change notification settings - Fork 60
Temperature offset feature #61
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
Conversation
…'s method in FilamentManager
Hi @WyattNielsen , thanks for the PR. I will take a look on it in the next days. |
Hi @WyattNielsen, I saw in some issues that the users use the temp. fields like this: 180-190...so just picking this value will not work. I think a final solution could be like this:
Your PR is a really good starting point. What do you think? PS. Sorry, for being late to the party, but I made a "Octoprint sabatical" (no coding, no printing) the last months. |
Hi @WyattNielsen, I tested your implementation and I never used the OP-Temp-Offset feature before, so I am not sure of the correct behaviour....
Any ideas? |
The offset had to be set prior to starting the print. The offset is applied to temperature values when the gcode is sent to the printer. Unfortunately my printer is currently out of commission, but I was using this code successfully for weeks. I'll try to look at my printer next week so I can help troubleshoot further. |
I think your plan for these updates make a lot of sense, as I mentioned before I don't have a working printer right now so I would be unable to fully test any changes. Hopefully I can get my printer working next week then I'll be able to update the pr accordingly. |
Hi, The way I use it in the "old Filament manager" plugin is: I slice all my models with a base temperature of 200C for the nozzle and 60C for the bed, then for each spool I specify an offset for these (I.E.: I print Prusament PLA at 215/60 so my offsets are 15/0) Hope that helps. |
Octoprint does not apply the offset value to target temperature values set in the GUI for some reason. They are only applied to GCode Commands. So in my understanding (haven't tested this explicitly) the offset value must be set before the print job sets the target temperature. Usually this is only set once at the beginning of a print job, so changing the offset value during a print has no effect. The old filament manager also only applied the offset when a spool was changed. So after configuring a temperature for a spool you had to manually switch back and forth to make it affect the print. Meaning: It would be nice when the offset would be actually set also when the config of the spool was updated. I'm willing to do tests btw. as I really want this to work :D |
fyi: currently I am working on next printjobhistory release..and hopefully I can release a new version of spoolmanager in two weeks. |
pull latest from ollisGit
Merge latest changes from OllisGit
@OllisGit The offsets only apply to gcode commands. That allows you to update the temperature via setting the target value. If I slice a file to print at 200°C when the print starts the tools target will be set at 205°C. Updating the target value overrides any offset. I have updated the PR as requested with new temp offset fields in the dialog and an updated confirmation message. |
Just playing devils advocate here... is specifying offset values really the right way to go? I ask because this approach does require the user to always slice with known static values (like @yceoshda does with 200/60). Spool Manager already has slots for "Best" Tool and Bed temperature. I understand that the offsets only get applied when the GCODE is loaded, but is there any way for Spool Manager to insert itself right before that happens and calculate the offset automatically? This would allow any file sliced at any target temperatures to receive the proper offset. I understand the title of this feature includes the words "Quick and dirty". But since the UI is being updated to include slots for manually calculated offset values, I thought I'd at least ask the question. |
So if we are talking about the right way to go, for me that would be: Slicing without any temperature but rather an offset. Because my spools know best at which temp they work right, but I might want to change the offset while slicing. For example to make the filament flow better when printing fast, or lowering the temp for a different surface finish (e.g. some PLA is glossy on higher temps and more matte on lower ones). Sadly I can't think of a way to implement that offset in a generic way. Once could slice with reference to 0 degrees (and take the actual temp as an offset), but I don't know if that is really a good idea. |
These are both changes that would need to occur in OctoPrint itself rather than in this plugin. Altering the temperature at that level is beyond the scope of a spool manager plugin. |
@jbienz As a matter of fact, I do slice everything at 200/60 this way I know my reference for the offsets :-). Having the offset being calculated automatically would be great but I beleive far more complicated than this. @HaukeRa the goal is to have the same gcode printable with multiple filament with re-slicing not the other way around ;-). |
I'm running WyattNielsen's version, and it does exactly what I would expect from a temp offset! |
@@ -281,6 +306,7 @@ | |||
<div><sup>2</sup><small>Needed for filament usage prediction</small></div> | |||
<div><sup>3</sup><small>See <a href="https://bitfab.io/blog/3d-printing-materials-densities/" target="newTab">https://bitfab.io/blog/3d-printing-materials-densities/ (without warranty)</a></small></div> | |||
<div><sup>4</sup><small>Not send to the printer</small></div> | |||
<div><sup>5</sup><small>Temperature offset enabled via Plugin Settings -> temperature tab</small></div> |
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.
Btw. Why is this enabled globally and not in each single spool?
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 thought it makes more sense as a global setting because that's how I use it. Setting this globally makes the plugin look for the setting and turns off the offset if it isn't configured on the spool.
@WyattNielsen your PR is now (together with multi-tool-support) merged into master-branch. Please take a look. Btw. what should be used (bed/Chamber) for a multi-tool print? currently, the last spools wins ;-) |
I don't have a good answer for the bed/chamber offset either and had a comment in code about this. I guess you could check to see if it is different for the multiple spools and use a dialog to allow the user to choose it in that case? |
based off of Sven Lohrman's implementation of this feature in FilamentManager.
It works, but right now it uses the temperature values for the offset. I just wanted to test feasibility, should probably be new fields if the feature is added in.
Also currently only works with one tool, if there are multiple tools will need to figure out how to set the appropriate bed and enclosure offsets.