-
-
Notifications
You must be signed in to change notification settings - Fork 1.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
Bug fix: Disable filament shrink compensation for multicolor/material prints which was causing incorrect colour segmentation. #5774
Conversation
The problem is that scaling may also vary by filament. One could be 0.9 and the other 0.95 or something. Then what do you use? 🤔 |
Good point 🤔
It kinda depends on the situation, for parts with just some colored text I would use option 3 or 1, for parts with like 4 colors in one layer option 2. Maybe an option for this in the Multicolor printer tab would be useful? (probably a lot of work to implement😐) |
It’s the same issue as XY hole compensation that is skipped when doing a multi color print. In my view, material shrinkage should be baked into the model by design, so I’ve never used this. And if needed we can just adjust the size of the model as a complete scale factor. However, many ppl have this set up and then try to slice a multi material print and then it fails and they don’t know why. So I’m proposing this approach for now, to protect the user from using an incompatible feature. I’ll investigate if there is an alternative way but not very hopeful as this feature was lifted from SS, which also has this issue, and neither Bambu nor prusa have this implemented, so we cannot cross check what the “upstream” branches have done. |
I think it would be better to have a warning notification instead of silently disable shrinkage |
I tried that in a similar manner that XY compensation does but the method to raise the slicing message is protected and can’t call it from the parameter pointer :(. Any idea on what pop up to use as an alternative? |
Mmm let me try something different |
I was referring to a notification(appears at the bottom right) |
Hey @SoftFever I've implemented the warning message in two places - one triggered at slice time and one at the validate function. Pick your favourite and I'll remove the other :) The slice time message takes you to the multicoloured object, so that's nice; however it needs me to mark a function as public which I'm not too keen. Pick one and I'll cleanup the code removing the other one 🥳 |
src/libslic3r/PrintObjectSlice.cpp
Outdated
} | ||
} | ||
if(display_shrinkage_comp_error){ |
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.
@SoftFever this is the slice time messsage here
} | ||
} | ||
if (filament_shrinkage_found){ | ||
warning->string = L("Filament shrinkage compensation is incompatible with multi color and multi material prints. It will be ignored when printing this model."); |
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.
And the validate message here :)
…on-for-multicolor/material-prints
I'm having this issue, but my filaments are set to 100% for shrink already. Easy to reproduce, starting in version 2.1 (any, even Beta) create a primitive cube. Paint one vertical side with any color, then slice. That color won't be in the finished product. Reverting to 2.0 and it behaves as expected. I don't have the ability to compile my own build to test your fix for my issue but I thought I would chime in mentioning I'm having this problem with the shrinkage already at 100. |
Please save the sliced cube project file and upload it here in a zip file. I’ve done the exact same test as mentioned above and it doesn’t behave the same as yours. |
You can download the ready made build here: https://github.com/SoftFever/OrcaSlicer/actions/runs/9615570849 bottom of the page. |
Video of the behavior in 2.0 and 2.1 from my POV. I am on MacOS 14.5 (23F79) on M3 CPU Project file of the test cube and Gcode created of same cube is attached. |
I tried this but cannot execute the binary, Finder tries to launch it and I get an error that the file is corrupted. It unzipped fine into the DMG, which also mounted fine and was able to extract the binary fine - it just states it is damaged when I try to run it. |
You need to run this command here to sign the file: |
Your project file attached above is slicing OK for me: Honestly I'm lost as cannot reproduce it :( @SoftFever any thoughts? |
Curious, I am on a Mac, and so is the other person that just chimed in on this thread. You on PC or Mac? Maybe there is something to that with respect to OS build? |
I’m on an M1 Pro MacBook… |
No idea then. If I roll back to 2.0 it works fine. Something strange is afoot at the local Circle-K.... |
@SoftFever need help :) :) :) I've been trying to investigate this - but I'm hitting a brick wall. There are two issues here. Issue 1: Shrink compensation, that is addressed with this PR successfully (pending comments above etc) Issue 2: There seems to be a secondary issue that is present in the built files from the GitHub actions: The below is taken from the build of this PR. Also it's the same with the main release build. However when I build the main branch locally with already built dependencies all is good: Then I deleted my GitHub local folder including all build files etc and recloned the repo and rebuilt from scratch. It still works properly even after a clean dependency rebuild etc. I've also tried running a build using a slightly older version of the GitHub actions on my cloned main branch here: Firstly I downloaded my dev branch binaries from here: These were built with dependencies cached around 2 weeks ago. It doesnt work again... So there is something up with the way the actions are building the binary for MacOS as it works with a local build but doesnt work with a GitHub actions build... |
Hi, so I'm encountering the same issue on Mac OS 12.7.5 |
It isn't Intel or Mac silicon only. I've got M3 with the problem, others don't. As others have said it impacts any 2.1 version. All 2.0 versions and before slice fine. I've tried fresh install on fresh user profile and no change in behavior, as I had thought maybe something in the preferences was causing this but no. |
…rink-compensation-for-multicolor/material-prints
…rink-compensation-for-multicolor/material-prints
Latest nightly Mac build should solve the non shrinkage related MMU issue. Download from the nightly and use this command to "sign" it if needed so it opens.
|
…ticolor/material-prints
I've updated the CI/CD build script, the problem should be fixed. |
Nightly build works! Thank you guys! Would the next update of the regular build include this fix? |
Just tried the nightly and it DOES solve the "no color on vertical surfaces" issue. Hooray! |
…on-for-multicolor/material-prints
Thank you @igiannakas I have two feedback:
|
…rink-compensation-for-multicolor/material-prints
My hunch is that the subsequent polygon segmentation ops dont like the polygons having moved. Also if memory is not failing me, I've noticed that this:
|
…rink-compensation-for-multicolor/material-prints
I see. I feel that is a better implementation. |
Oooh that looks nice! |
Seems pretty straightforward to port - I’ll have a go at it next week/ the week after once I get a bit of free time from work :) closing this PR as there is a better way forward. |
Description
Fixes the below issues reported when using filament shrink compensation together with a multi-color/material print.
The fix is detecting the use of multiple extruders and disables the compensation for multi material/color prints as it is not compatible. This is similar to the XY hole compensation that is correctly also disabled when printing multi-material prints.
This has been reported several times on both discord and here so maybe this correction helps.
Fixes #5756
Fixes #5152
Fixes #4551
Fixes #5664
Fixes #4091
Tests
Tested with multi colour print with shrink compensation - slices successfully
Tested with single colour print with shrink compensation - slices successfully and applies XY correction.