"Raw" XY scale factor as a filament setting for dimensional accuracy compensation?
 
Notifications
Clear all

"Raw" XY scale factor as a filament setting for dimensional accuracy compensation?  

  RSS
pipe2null
(@pipe2null)
Active Member
"Raw" XY scale factor as a filament setting for dimensional accuracy compensation?

Much of what I design and print needs dimensional accuracy, not to the micron level, but as good as I can reasonably get without spending a month tweaking a single design.

I have been adding scaling factors (like an ABS shrinkage coefficient) to important XY dimensions of my models, but even when using global scaling factors with parametric design, it is tedious and I always forget to apply it to one (usually several) dimensional constraints in the CAD.  And then I have to adjust that global scaling factor and re-export all STLs depending on what type/color/manufacturer roll of filament I have in the printer, or want to print the same object in different materials/colors/etc.  CAD software has various ways to do scaling (each with it's own pros/cons), but I have to redo/re-export everything again depending on filament, so same issue.

I get that there are "Scale factors" in the main UI, but at least in the version I am using there are not nearly enough decimal places to adjust for dimensional accuracy.  I get that there is "Print Settings->Advanced->XY Size Compensation", but I'm not sure how to translate a raw unit-less scaling factor into "mm's", and scaling factors for ABS vs PETG are much more of a "filament setting" than a "print setting".

Have I missed something?  Is there a specific reason why it is not possible?  Is there a better way to do this?  Thanks!

Posted : 30/04/2021 7:31 pm
--
 --
(@)
Illustrious Member
RE: "Raw" XY scale factor as a filament setting for dimensional accuracy compensation?

That XY compensation is not what you think it is; it's really a shrink-grow of surface thickness. Setting XY comp to 0.1 basically adds 0.1mm to the X and Y dimensions. Making a 1 mm wall 1.2 mm thick (adding 0.1mm per surface). It is a way to trick the slicer into slicing small features. Probably intended to be similar to flow comp for adjusting extrusions - the help text mentions using it to trim internal hole dimensions.

This post was modified 5 months ago by --
Posted : 01/05/2021 3:28 am
--
 --
(@)
Illustrious Member
RE: "Raw" XY scale factor as a filament setting for dimensional accuracy compensation?

As for why - a CAD program is designed to modify dimensions in a way that you'd probably need to optimal control - a slicer tends to be less demanding, and has other things it needs to do well that are higher priority than precise scale changes. But go over to github and put in a feature request. If and when time becomes available to add such a feature, the guys doing the coding may consider it.

As for shrinkage - I think there is a lot of variability as to why a part shrinks, when, how, and wherefore. Not something a one-size-fits-all setting will address.  I've noticed even minor changes in room ambient will affect a part outcome - and my print space is regulated down to a 2 degree spread. Then there's moisture content of the filament, room humidity, and even belt stretch. Many things you'd need 'adjustments' for if you want truly repeatable results. I'm probably overthinking it - a simple 'save scale factor with filament profile' seems like a simple enhancement. 

 

Posted : 01/05/2021 3:54 am
Neophyl
(@neophyl)
Famed Member
RE: "Raw" XY scale factor as a filament setting for dimensional accuracy compensation?

And something that was added to Super Slicer awhile back.  I don’t use it myself but from posts on the topic it seems to do an adequate job mostly. 

Posted : 01/05/2021 7:14 am
pipe2null
(@pipe2null)
Active Member
Topic starter answered:
RE: "Raw" XY scale factor as a filament setting for dimensional accuracy compensation?

Thanks for the feedback.

@Tim: I don't think you are over thinking it, a 3DP is indeed a complicated beast.  I had just assumed I had missed something since I didn't see any effective way to do compensation within the slicer software.

Just did some digging on github, found a similar request and several other requests closed as dup's of 3059.  Added a "same here".
https://github.com/prusa3d/PrusaSlicer/issues/3059

@Neophyl:  Hmmm...  Just looked at super slicer github, I didn't know of its existence.  I'm curious if their perimeter join option might accomplish the same as a previous prusaslicer feature request: https://github.com/prusa3d/PrusaSlicer/issues/5357

I'll have to check that out. 

Posted : 01/05/2021 8:51 pm
Share: