-
Notifications
You must be signed in to change notification settings - Fork 2k
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: Independent fan speed for exterior perimeters #2776
Comments
Very good idea! |
Adds a new seting and plumbs through the UI to independently control the fan speed for external perimeters. Filed as issue prusa3d#2776.
I coded up a change here. I'm not sure exactly what the appropriate etiquette is (haven't contributed to anything on github before), but I'm happy to do a pull request if this is reasonable. |
Here's a bit more context for why this change is important. CNC Kitchen recently posted a video demonstrating how reduced cooling levels significantly increase layer adhesion (and thus strength) of printed parts. However, doing so also negatively impacts the surface finish and resulting appearance. So, this change should allow tuning the exterior and interior to get the best of both worlds (i.e. strong layer adhesion with good surface finish). |
it seems like something is wrong, according to https://www.gcodeanalyser.com/ it triggers the 100% fan speed (when External Perimeters Fan Speed is set to 100%) in the internal part and not the external perimeter |
Thanks, I couldn't find a tool that would actually show me fan speed. I had patched the source to keep the _EXTERNAL_PERIMETER comment in and was manually reading the gcode to verify the fan kicked in where I expected. It turns out "external perimeter" isn't exactly what I understood it to be (and my gcode reading skills could use some work). I'm going to do a little code spelunking and try to understand if the information I need is already propagated or if I will need to figure out how to do so. Any suggestions? |
Well, that was a fun exploration, and I think I can now authoritatively state that the fan speed rendering at www.gcodeanalyser.com is simply wrong. I reviewed the relevant Prusa Slicer code paths, and as far as I could tell my patch should work correctly since it relies on the same attributes as the logic for external perimeter speed rate. So, I then manually reviewed fresh gcode output from my patch, keying off the I searched around for another slicer that would let me visualize fan speed (should I offer to add such a visualization to Prusa Slicer?). I found out that www.canvas3d.io provides a fan speed visualization and allows you to set an independent perimeter speed (although it's for all perimeters, not just the external ones). So I sliced a calibration cube there with 10% base fan speed and 100% perimeter fan speed. The results show similar, wild discrepancies between the Canvas and G-Code Analyzer visualizations (images below). Finally, I decided I should just print a calibration cube with my patch at 10% base fan and 100% for external perimeters, so I could watch and listen for the fan to spike on external perimeters. As far as I could tell it did so correctly every time—running at 10% everywhere except external perimeters, where I could hear the fan rev up to 100% (tested on my CR-10S, because the Prusa was busy printing other stuff). So, I'm pretty sure my patch is correct and what you're seeing is just a bug in G-Code Analyzer, but perhaps there's something I'm missing? Visualization Discrepancies:
|
That's a great news, I will try it again then! BTW: I'm still wondering if the higher layer adhesion on CNCKitchen is due to printing on a "still hot" lower layer, or to depositing a new layer which cools down slowly. |
I've uploaded this patch as a PR, which adds a preview for fan speeds (since I couldn't find a better way to get accurate visualizations). Update 1 October 2019: |
Adds a new seting and plumbs through the UI to independently control the fan speed for external perimeters. Filed as issue prusa3d#2776.
Adds a new setting and plumbs through the UI to independently control the fan speed for external perimeters. Filed as issue #2776. merill note: i only picked the setting definition, as the other part will need an almost compete re-write
Adds a new setting and plumbs through the UI to independently control the fan speed for external perimeters. Filed as issue prusa3d#2776.
Adds a new seting and plumbs through the UI to independently control the fan speed for external perimeters. Filed as issue prusa3d#2776.
Adds a new seting and plumbs through the UI to independently control the fan speed for external perimeters. Filed as issue prusa3d#2776.
Adds a new setting and plumbs through the UI to independently control the fan speed for external perimeters. Filed as issue prusa3d#2776.
Hi, this seems a very cool(ing) feature to me, but I don't get how I can actually use it. Do I have to modify some files myself? |
@Bumblebiber, sorry, but it's probably not something you can try out unless you'd be comfortable checking out the Prusa Slicer source, applying the patch in #2921, and then building your own binaries (e.g. here are the instructions for building on Windows). |
Please add this feature, would be useful for PLA where fan speed has particularly high impact on surface finish and layer adhesion. |
Version
2.0.0
Operating system type + version
N/A
3D printer brand / version + firmware version (if known)
N/A
Behavior
I want to be able to specify an independent fan speed for external perimeters (where more cooling improves finish) versus internal perimeters, infil, etc. (where minimal cooling improves layer adhesion and part strength).
Is this a new feature request?
Yes
More information
I looked at the CoolingBuffer and PrintConfig source, and it looks like I could code this up pretty quickly if there's any interest.
The text was updated successfully, but these errors were encountered: