Fixing over extrusion
Here it is with a .4 nozzle.
I understand your requirements now. Very sound logic for your particular set of overrides 🙂
In my experience, detect thin walls worked in a bit of an unpredictable way. In slightly older PrusaSlicer versions ticking the box would make it not attempt printing very thin walls at all (the cutoff was around 75% of extrusion width IIRC), but unticking the box made it print them with the regular perimeter settings, which aside from more reliably printing thinner walls gave better results on prints with highly variable thickness (like keychains with serif fonts). Of course it's best to try both and see what's best for that particular print :). I can run a test on the latest PrusaSlicer and post the differences to illustrate exactly what I mean if you think this would interest you - just ask 🙂
Could I trouble you to take a close-up photo of the cube and use some strong lighting or the flash? It's hard to make out the surface on the attached pic.
How are you finding the match between estimated and actual weights with your latest set of tweaks?
Definitely thin walls is an unpredictable setting. I've had it do some weird things on walls that were between 1 and 2 lines thick. The place it is almost required is on features that cannot work with more than 1 line. I find most slicers do not like to do single extrusion features like thin walls or small letters. You tend to have to tell the slicer specifically to attempt single extrusion on some features. Frequently this means that without thin walls checked a small detail is just completely ignored. With thin walls it might not be perfectly correct because it is too small for the nozzle to do accurately, but at least it is there. It's for sure one of the first things I check is the slicer has a weird output.
See if that one is a bit better.
Here is the print we were setting up for:
Came out pretty good other than the layer shift right at the beginning. 450g estimate to 452g actual, not to far off.
One of the definite difficulties I run into is constantly changing materials. I have had 6 different materials running at the same time on different machines:PC,PP,PETG,Nylon, 2 different TPU. And those are all one off prints so as soon as they are done it's a different material on the machine. Of course ignoring the the part where just different colors can change the settings. Usually so pressed for time to get em out that I just pull an old 3mf from a similar print/material that worked and hit go. If it comes out too ugly I tune from there. I really need to come up with a standard set of 2-3 quick prints to dial in any material very quickly. Of course the part where some materials need a 24hr drying cycle before printing to have a chance of working and others don't care makes it even more interesting. hehe
Indeed, thin walls are problematic - especially the transition between normal two-perimeter printing and the single-line thin walls. On my Bowden printers it frequently results in a bit of over or under-extrusion at the transition points.
The top surface of your cube looks a little over-extruded, I think you'll get better quality by lowering your extrusion multiplier by at least 1-2%.
With regards to multiple materials, PrusaSlicer makes it relatively easy by letting you implement material-specific settings from the drop down menus. Although the system is not perfect, if you invest the time in setting it up upfront, it will become very easy to switch materials. Easiest way is to save on top of your existing profile each time you do a print - for example when you do a PETG print and find it slightly under-extruded you increase the EM and save on top of the PETG profile for that particular printer. This way you profiles get closer to perfect each time you print. I know the temptation is to get things done as fast as possible, but what tends to happen is that admin work (like profile management) piles up until it's overwhelming and needs an hour or two of concentrated work to sort out. If instead you put in a few minutes each time it will be a series of small manageable chunks which you can do in-stride and which provide immediate benefits.
You can set up dependencies in your profiles (if you haven't already) so certain settings only appear for certain printers. It makes profile management much much less cluttered. For example, I have three types of custom-defined printers in my PrusaSlicer:
Each profile has a dependency set so it only appears for that particular printer -
That way when I select the Kossel as my hardware (printer settings), I only see my kossel print settings in the dropdown -
And if I choose my CR-10 Mini, I only get the CR-10 Mini profile -
If you would like to implement complex dependencies for filaments, you can do that as well -
But in my case since I only use PLA and PETG on my printers I just left them as common profiles for all my printers since the settings under the filament tab are somewhat hardware-independent since the materials are so similar. Your materials are very different so you might want to have particular print settings to override speeds and such when particular filaments are chosen
[print speed is under print settings, which does not normally respond to filament selection in the filament menu - in order to get speed to depend on filament selection, you'd have to set up different printer settings for your different filaments].
With regards to test prints, the first print you should do with any new material is a temperature tower. That will tell you where the optimum temperature range is on your hardware (I've found that depending on nozzle design there might be a 5-10°C difference in how filament behaves. For example a steel nozzle at 200°C behaves like a brass nozzle at 190°C on my CR-10 so when I use steel I have to bump up temperature; meanwhile my kossel has a longer melt zone than my CR-10 so 200°C on the kossel handles like 210°C on the CR-10).
Once temperature is dialled in, a calibration cube (or just the top of one) will give you extrusion multiplier information by examining the quality of the top surface. If the filaments are vastly different, like TPU vs PLA, you'll need to run e-steps calibration again because they compress differently in the extruder. Then you could either put your e-steps correction gcode line in the profile for that particular filament (which is easy on Simplify3D with a bit of manual profile text editing, but slightly harder in PrusaSlicer because there's no filament-specific start gcode), or you could correct it using the extrusion multiplier and save it in PrusaSlicer's filament settings (which isn't as ideal as a solution, but much more easy and convenient the way PrusaSlicer is set up).
After that you can pretty much start to print normally and fine-tune by observation. You can tune bed temperature early on based on whether the print pops off unexpectedly mid-print (in which case raise the temperature), or you find the print impossible to remove or with severe elephant footing (in which case lower the temperature). And so on.
You might want to test other things on occasion - in that case there are several on thingiverse, for example:
- Bed levelling check: https://www.thingiverse.com/thing:2187071
- Retraction test: https://www.thingiverse.com/thing:909901 (also handy for tuning minimum layer time because the pointy tops will overheat if you print too fast)
- Lithophane thickness calibration (optimum value depends on opacity of the filament) by yours truly - https://www.thingiverse.com/thing:3703446
- Last but not least, the 3D benchy for overall print quality benchmarking 😆 - https://www.thingiverse.com/thing:763622
Hope that helps! Let me know how it goes 🙂
With regards to your print of the crest, I have one suggestion - perimeters are much stronger than infill (due to their direction), so for reinforcing those three cylinders, increasing to a large number of perimeters would give you a stronger result than only raising to 100% infill -
If you're wondering why this works like that, here's a 10-minute video by CNCkitchen that tested this thoroughly by stressing prints to failure using different print strategies - https://www.youtube.com/watch?v=AmEaNAwFSfI
P.S. Unfortunately this creates a visible defect on the surface due to the way PrusaSlicer handles outer perimeters -
So in your case you won't be able to use this strategy for this particular print until they get this behaviour fixed. But in many situations the knowledge that perimeters are stronger than infill will come in useful 🙂
P.S. Ironing will give you a flatter/smoother/nicer top surface at the expense of somewhat longer print time - have you ever given it a try? It works quite well if you dial in the extrusion well (too little extrusion and it ends up only ironing parts of the print where there are enough plastic, which looks terrible and much worse than not ironing at all, too much extrusion and it spills over the edge and you'd need a deburring tool to clean it up).
I'll have to try those tests next time I am running a new material. You can definitely go down a rabbit hole where you use half a spool dialing the filament in.
On the individual filament settings. For TPU I usually reduce the speed by changing the max volumetric speed and then change the extrusion multiplier till it is right. Ends up with estimates off but really nice prints otherwise.
Also sometimes drop some settings in the filament start gcode which works well if it doesn't matter where those lines go. Another trick I've used is to drop some filament specific gcode to the filament notes. They you can drop "[filament_notes]" in the start gcode of the machine to add that gcode in where you want it.
I couldn't figure out how to remove that defect. Those holes need extra material so they could be drilled out to the size of the mounting hardware layer. The solid fill was the only way I could figure it out to do that was with the extra fill since it didn't want to add extra perimeters cleanly.
I've tried the ironing a few times with mixed results. I probably never got it completely dialed in right. In general I thought it wasn't worth the extra print time though will probably play with it again in the future.
Nice workflow :). Some good workarounds there.
For the perimeters it seems to be a bug in PrusaSlicer so nothing really that you can control to get it to work. One workaround would been to limit the cylinder overriding the holes to below the final surface of the print (you can create and import custom modifier meshes so any arbitrary shape is possible - just create one that is a cylinder with the top cut out at a precise angle so as to exclude the outer perimeters of your print), but that would be more trouble than it's worth for this print really. The strength benefits won't justify the time investment unless you print large quantities of this print.
Indeed if you chase perfection you'll use up a lot of filament getting the last small things optimised. That's why the best workflow is to print a few small, quick, low-weight test prints to get the bulk of the tuning out of the way and get your settings 95% there, then do the last 5% of your fine-tuning on production prints so the material doesn't get wasted 🙂
Are you happy with your printer calibration at this point?
We’re a bunch of 3D printing and design nuts. We just want to make great 3D design available to everyone.
Good design takes time, great design takes a process. You can learn this with us, to build your skill set in this rapidly expanding market.