Conversation
…not properly apply (or change back) certain values. Z targeting now works by determining the target layer based on the minimum Z for a given layer. Added support for layer and Z ranges. Added support for reading layer height from project settings. Kept backwards compatibility with older configs of ChangeAtZ.
|
@novamxd could you take a look at the current "TweakAtZ". The thought was to obsolete "Change At Z" in due time. It was left in Cura as project files might include it. Tweak at Z currently has "Start/End layers" and "Start/End heights. If you could see if your changes can apply to Tweak At Z it would be helpful. |
Hey @GregValiant I already saw TweakAtZ. Personally I'm disappointed it exists and is the reason I decided to push my changes through. There is and was nothing preventing you from updating the existing ChangeAtZ plugin to support the new features without breaking backwards compatibility, and yet you chose otherwise. Now customers of Cura are left with old projects that won't work right requiring a migration and any existing tutorials or documentation now invalid. This was a terrible decision, in my opinion. If anything I will slowly port the TweakAtZ functions missing from ChangeAtZ into ChangeAtZ, making TweakAtZ no longer required. I hope this clarifies! |
|
I started out updating Change at Z but when I got finished it was very different. Tweak at Z has the same (I think) functionality, but it is 700 lines of code shorter and it is WAY faster. I thought one of the problems with Change At Z was the way speed changes were handled. Using M220 affects any speed. I went a different way and adjusted the individual speed "F" parameters in the Gcode. That allows Print, Travel, Retract/Prime, and Z-hop speeds to be handled separately. The fan commands were no longer needed as "Advanced Cooling Fan Control" covered that. The settings for Change At Z just didn't fit well anymore and a project that called Change at Z could well have had "unexpected consequences". |
|
Hey @GregValiant,
So? I did a huge refactor when I first picked it up and after. So long as the existing functionality is undisturbed that's 100% fine. In fact so long as the customer experience is undisturbed, go ham.
The speed increase is only useful if the functionality wasn't impaired. Function size at the end of the day doesn't matter much so long as it's easy to read.
So? Make a toggle. As it is "speed" in ChangeAtZ highly depends on what you're modifying. Retract speed, for example, works differently depending on whether firmware retractions are enabled or not. If it's not firmware retractions it's a simple multiplication like your plugin. Also the current ChangeAtZ plugin solved a problem: overlapping multiplication. I don't see much of a means of memory in your current plugin, but I haven't reviewed it deeply. If your plugin has no memory component it means subsequent TweakAtZ will compound, causing unexpected changes.
So? I can add that to the current ChangeAtZ plugin, and probably will.
I mean that only applies for new projects and those with newer versions of Cura. For new projects or folks who want to continue using ChangeAtZ it can remain, plus any existing documentation. For those who don't, they can use the baked in function.
So? I added that pretty easily to ChangeAtZ.
I mean you more or less ported them to your TweakAtZ. Based on your responses there's nothing here that really convinces me that creating a new plugin was the right call, in fact I'd say it was a bad one. Like I said, I'll continue to support ChangeAtZ and I'll work to bring any missing functions to it. Whether you want to keep yours is up to you. |
Description
Type of change
How Has This Been Tested?
I pulled the file given by GhostKeeper (here) and validated that it properly targets the expected heights. Also tested ranges with this file.
I also pulled the 25x25 Cube given by AbeFM (here) and that the fan speed is properly switched back to 30% after the desired layer.
Test Configuration:
Checklist:
25x25Cube (1).zip
change_at_z_temperature (1).zip