prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.58k stars 1.91k forks source link

Improvements to Filament>Shrinkage Compensation (Expert Mode) #13083

Open bryn51 opened 1 month ago

bryn51 commented 1 month ago

Is your feature request related to a problem? Please describe. I use filament Pokemaker Co PA (PA6) which expands when printing and contracts when cooled. I find that (with NO Shrinkage compensation) the printed model HOLES are shrunken by as much as 16%, when the gross dimensions of the model are expanded by 0.35%. This causes fitting issues when the model is installed in an assembly. Every dimension on a printed model is important when the model context is an engineering design, where the part must fit into an assembly.

Describe the solution you'd like I would like to know how the shrinkage compensation applies to HOLES better than I currently do. I would like the shrinkage compensation to handle holes better when adjusting for shrinkage. The shrinkage compensation should make holes larger, and the gross dimensions smaller than the original model, and the degree of shrinkage is different for holes than for outside gross dimensions.
There should be a dimensional test model supplied along with instructions on its use, to allow calculation of the Shrinkage Compensation straightforward. I note this may not be a programming task, but it should be coordinated by associated parties as part of the overall delivery of this facility.

Describe how it would work The shrinkage compensation factor should make holes larger, and the gross dimensions smaller than the original model. This may mean that different parameters are entered, one for Holes, and the other for outside dimensions.

Describe alternatives you've considered Before this facility was available, I applied scale factor (plater tab) to the model, with different values of each of X, Y and Z vectors. This method does not deal with holes in the correct way. I also used the modelling tool (Fusion 360) to achieve the same end.
These types of adjustment do not allow for the fact that different filaments expand and contact in different amounts. Such adjustments affect every instance of the printed model, no matter what material is used.

Additional context Adding this facility to Prusa Slicer and stored with the filament profile is a way of making the required adjustment in an easier way, without modifying the original model dimensions, and since the adjustment is made per filament, it better accounts for the different materials behaviour. The adjustments are stored in the filament profile for use on other projects.

I grant that it is entirely possible that Prusa Slicer is already doing as requested. But, since its not documented, I do not know that. So, a big part of what I am requesting is for better documentation.

Vipcioo commented 1 month ago

And I'll add that in the shrinkage compensation settings I cannot enter values ​​that reduce the printout (like -0.7%), only just enlarge it. For me, in Cura it is more transparent and clear, because 100% is the middle of the scale, above means bigger the print, and below means print smaller. Yes, I can set the engine steps, but I can do it more precisely by scaling the resulting model during calibration. Especially in the delta system, which is already largely ignored.