What's your preferred method for measuring percent shrinkage?

Right now, I’m in the hunt to find the best/easiest/fastest way, and to that end I’m printing out some different shrinkage calibration objects and will be giving them a try. For instance, one that looks promising is the CaliCross:

https://www.printables.com/model/546871-calicross-a-handy-tool-for-3d-printer-dimensional-

A number of them, including that one, come with spreadsheets/calculators to speed along the process.

I’m printing them all from the same roll of filament, so in the end I’ll be able to compare their answers.

The dream/idea/wish is that once you’ve calibrated your filament, you can enter that data into the slicer, and it will compensate, so that afterward if you were to, say, print something from MakerWorld, it would come out the right size.

1 Like

I’ve been using this one

https://www.printables.com/model/164261

1 Like

I don’t like both those models for some reasons:

  • Both only provide measurement points from the outside, but for best compensation, you should also measure from the inside and use the average of inside and outside.
    That way, over or under extrusion cancel out and don’t affect your compensation.

  • the model should be as big as you can print and measure. For most people, the limit probably is the 150mm calipers. So a good generic model should make use of that.

  • Optimally, the model supports you at aligning thee calipers in parallel.

  • In my opinion, it doesn’t make sense to spend extra filament for skew compensation, because you calibrate that once for your printer, but shrinking for every material.

  • I don’t see the point in several different lengths. Just provide the longest possible length and that several times, so you can average multiple measurements.

The original CaliFlower by Vector3D ticks several of those boxes and most of my criteria above are based on his explanations. So I bought his model. But I created a different one myself that uses less filament / prints faster and improves a few details. I can post it later. Don’t expect nice descriptions and ready made spreadsheets.

2 Likes

Folks, I have to say that on the topic of measuring shrinkage and X/Y hole compensation, this topic is an example of this community overthinking this by a wide margin.

I have to laugh at a comment made by a YouTuber from Germany on a design he was working on. He said something like, ‘Well… I could have taken the simpler route, but I am German and I have a reputation to uphold…’ :rofl:

Why does this point matter? Well, for all the shortcuts the Chinese take, the Europeans are at the opposite end of the spectrum. Truth be told, I’m tilting towards the Europeans because I was raised by a German with the philosophy: ‘A job worth doing is a job worth doing well.’

I bring this up because with respect to the Cauliflower model and the fact that the original author has the audacity to charge for it, to me, this is completely unnecessary.

Let’s back up a second here. Why are we doing this test to begin with? Answer, unless you’re trying to enter a precision and accuracy contest, the goal is to get the dimensions of what you thought your printing to look like what is actually printed. And where is this most important? When we’re trying to fit two items together.

I’m a fanatic about precision and accuracy but I’m also a realist. So after trying the Cauliflower test and others, I finally came to the conclusion that these convoluted tests are pointless.

Here’s what I do. One could use the Hexagonal Calibration test in Orca. But I found that is even uncessary.

Here’s a simple and most importantly accurate and quick hole test that I do which takes under five minutes to perform.

  1. Take any object of any know diameter. One could use a drill bit as an example. They are made of steel and their measurements are largely trustworthy.
  2. Create a cube primitive with 3 or more cylinders for which we will later create negative parts negative part that is the dimension you want.
  3. Go into the objects screen and modify the X/Y for each of the different holes to allow for higher and lower values.
  4. print and see which hole the drill bit fits. Make your adjustments to the X/Y compensation and repeat.

Scale to Size so that you have a plate large enough to accommodate more than one hole.

Create five holes

Name them and scale them according to size.

Assemble them creating one part.


Change each part to a negative.

image

image

Slice plate and now you have an index to pass your drill bit through.

Based on which one fits, you then go into your quality settings and change the X/Y.
image

4 Likes

@Olias I’ll have to circle back and give what you wrote a more careful reaqding. However, from reading it too quickly once, I’m wondering: Have you seen this regarding hole diameter vs shrinkage? Dimensionally Inaccurate Parts Being Produced by X1C - #188 by NeverDie

1 Like

Yes, I’d be interested to see what you came up with. Your analysis seems spot on, so more than likely I’d use yours if it were available.

I’m glad you asked.

Actually, I’ve seen that data before, and it’s part of what affirms my belief. While the author made a valiant effort, we all know that FDM technology with it’s dependency on so many variables is inherently inaccurate. But for each print, it can be precise.

Firstly, while I can geek out on data with the rest of us, the data in his analysis, as presented, lacked all scientific rigor. For example, there were no representations of the relative humidity (RH) and ambient temperature in the room. Additionally, there were no measurements made of the moisture content of the filament. So it’s hard to draw any conclusions from this data not to mention that we don’t know how far apart the data was collected.

What exactly does that graph prove, anyway? To me, it strongly suggests that there is a very wide margin of error with FDM technology. But we already know this, so the chart shows nothing more than what we already know. This is why I affirm what I stated before: doing a quick dimensional test each time one wants to do a precision print will yield far more reliable results than doing a multi-hour test and simply assuming that the factors will not vary with ambient temperature and RH. Think about it. It takes hours to accumulate this data, and for what? Something that will be accurate for only that session or until a new filament is involved?

Also, it is important to take into account the use-case. When I am looking to get greater precision on a print, I usually do a calibration run on the two parts I want to mate even if I’ve done X/Y compensation measurement. After all, I’m more concerned with precision, not accuracy. By that I mean the parts need to fit each other or a fasten to something I’m using or go into or on an object I’ve measured. Of course if I were mass producing parts, it would be a completely different story. In that case accuracy would be important but then again, FDM would be the wrong tool for that. Perhaps printing first and then milling the final part but reliance on the accuracy of an FDM printed part is simply not a good strategy. If the chart shows anything, that might be it.

Here’s the classic target example when engaging in this kind of discussion.

2 Likes

Hey @Olias, you are probably right, that especially we germans often ridiculously overthink things :joy:. And believe me, there are also germans who drive me crazy, because they don’t care at all as long as the result is somewhere close to ok, which probably even more supports the saying :laughing:

Still, I strongly believe in correcting the root cause for any error and being very precise at that. Not because the more slopply approach wouldn’t yield good results at first, but because you typically didn’t think of some side effects in the beginning that will catch you later.

At least in my experience, any solutions for problems that I didn’t fully understand and just made it work, later caused new problems that wouldn’t exist without the first sloppy solution. But then you have already built everything around that solution and it would be to much hassle to roll it all up. So instead, you solve the new problem with a bandaid. which in turn causes problems again. And this story continues until your system consists of more bandaids than bones.
I admit that this might be “little bit” exaggerated for the problem at hand. But I think it also applies nicely at small scale.

But I stated several things without proper explanation, so please allow me to make myself more clear. While those certainly are no news for you, I will keep it very basic for clarity’s sake and for other readers:

Basically I think there are three dominant mechanisms affecting geometric accuracy:

  1. Shrinking: The entire model scales down slightly while the material cools down from glass transition temperature to ambient temperature. So this will reduce all dimensions by a linear factor. Also applies to corners
  2. over or under extrusion: The lines are a bit wider or narrower than intended. Over extrusion increases outer dimensions by a fixed amount and reduces inner dimensions by the same amount. For under extrusion it works the opposite way.
  3. Concave outer walls (including round holes and more) slightly pull inwards towards the arc’s center. In another thread, sombody posted a statistic that shows that smaller holes shrink more than larger ones. I haven’t heard a truly satisfying explanation for that yet. Somebody wrote once, that the liquid filament behaves a bit like a rubber band before it solidifies. That is also why printing bridges works the way it does. In that very short time, it tries to contract. For convex walls, the inner walls block it, but concave walls are free to move inwards just a bit. The smaller the radius, the higher force towards the center of the arc. For that reason, I think that the current implementation of hole compensation in all slicers falls short in many respects. They are limited to closed shapes and they don’t take the curvature into consideration.

Coming back to the compensation, in my world, each of those effects needs a separate compensation.
If you compensate too small holes by adjusting XY shrinkage (was that your suggestion?) , you can achieve fine holes ( at least for the size of hole that you tested for) but you will mess up external dimensions. You could as well reduce flow until the holes have the right size, but you probably agree, that this wouldn’t be a good idea either.

Instead it would be best to provoke the effects iusolated from each other so that you can determine the correct compensation for that effect.

That means for shrinkage, you should use large parts to maximize the effect of shrinkage and measure straight edges to get rid of curvature induced errors. With averaged inner and outer measurements, you can cancel the influence from flow errors. I agree, that the last one probably is neglectable, but why not take it out of the equation at little effort?
For correcting flow induced errors, of course you would first calibrate with other methods like e.g. Orca provides. To get rid of the remaining error, contour offset would be the right tool. Here I would print very thin straight features to eliminate influence from shrinkage and curvature and then measure their width.
For concave arcs and holes, I would probably make sure, that the other two effects are already compensated and then measure holes at different sizes. Unfortunately, I don’t see a good way to compensate those with some settings yet. Instead, I compensate those directly in the design. If holes have to be really precise, then I print them undersized and drill them out. That is much faster and easier than doing all the measurements or optimizing them interatively.

To be honest, I don’t care much about the second point, as accuracy was good enough for my demands. The real game changer is shrinkage compensation for larger parts. And on top, the exciting topic skew, which I wasn’t aware until lately when Vector3D published a youtube video on it.

2 Likes

Sorry for the long wait. Is there any way to upload STLs here? I don’t really feel like creating a makerworld project, but if there is no other way, I can do that tomorrow.

Just for now, that is what my model looks like:


Red is for the outer measurement, Measure with regular jaws. Should be 150mm
Blue is for the inner measurement. Measure with the pointy jaws. I have respected the opposite reference surface in the modell. Should be 140mm
For each dimension, there are two spots to measure it.
So for X direction, I take for measurements and add them up. The result is expected to be 2x150 + 2x140 = 580mm.
Repeat same for Y. If X and Y are noticeably different, I have other problems than shrinkage :stuck_out_tongue:
Else, take average and and divide by 580mm to receive the Orca compensation factor.

The green spots are intended for the caliper body to rest on, so that jaws are parallel to the model surfaces. They put typical calipers at just the right distance from the measurement points. That part is not perfect yet but good enough for me, so was reluctant to improve it further.

The print uses ~ 20 grams, I think that is not very much compared to other models I have seen when I scale them for 150mm.

I think the author didn’t want to say that everyone should start taking all those measurements. It just proves, that compensating undersized holes with a fixed offset is not useful. so effectively, there currently is no one click way for true hole sizes. Everybody should ignore faulty hole compensation. For now we have to use the iterative trial and error approach for each print.

Instead the slicers should take a more sophisticated approach. (I have stated my opinion above and in other threads a few times, sorry for repeating it :crazy_face:).

If they succeed, users could print e.g. two different holes and measure the sizes. The slicer then would be able to calculate compensation for all other sizes. and not only holes but also open concave shapes.

Not that I know of. Aside from github or google drive or makerworld/printables/thingiverse, I’m not sure what other options might exist.

If nothing else I have one or two Boost tokens I can send your way. From what I gather, BBL gave everybody some boost credits to “spend”, and so maybe others will do the same if they like your model. Might as well make hay while the sun is shining!

Have you found/created anything you like for measuring shrinkage in Z?

Also, in terms of ideal order of operations, I presume it would be best to do the printer skew correction once (whenever that feature becomes more easily available), and then after that’s out of the way do the shrinkage measurements on each of the filaments. Do you concur?

While it sounds odd, I understood that Z should show negligible shrinking, but I haven’t checked that yet myself.
The idea is that of course the filament shrinks in all directions but the bed will still move down the correct distance each layer. The layer below will already have finished shrinking when the next one is laid down. So the next layer effectively will have a slightly too high layer height, already compensating the shrinking of the layer below. Because the printer “thinks” that it lays down e.g. a 0,2mm high line while it actually might be 0,21mm (exaggerated), it slightly under extrudes, but that is just so little that it really doesn’t make a difference.
So in the end even a tall print will only be short by the shrinkage of one layer.
This whole theory probably doesn’t work with materials that are printed at substantially raised chamber temperatures. No idea how relevant that is for the materials the Bambu printers can handle.

Yes, that makes absolutely sense. I had slightly different shrinkage values in X and Y and put big hopes in skew correction.
And then again, Olias certainly has a point with how far does it make sense to go :joy:. For me although skew was not perfect, but also not that bad and dimensions just slightly off, so that I don’t feel much pressure compensateing it until I run into problems.

1 Like

I think the humidity/moisture issue you raise is an interesting one, but you can control for that effect by drying your filament and keeping it dry, so I don’t see that alone as a reason to give up on attempting to get better accuracy. So, then, is your worry that the RH in the printing chamber going to dramatically derail accuracy? I don’t know, but it would be fairly easy to check–provided you have an accurate means of measuring shrinkage, which is, of course, the whole point of this thread.

As for whether the guy’s hole measurements were done correctly or not, or inaccurate or not, I suppose it’s healthy to be skeptical. However, did you see that he does offer an easy tool for generating your own measurements as a check on his work?


Maybe you’d like to give it a try and see if your results agree with his or are different? If you do, make a post afterward and let us know.

Which brings us to your method, which seems to assume that shrinkage will measure the same regardless of hole size. Well, seems reasonable, unless it happens to be wrong. Maybe you didn’t have it as easily at your fingertips before, but thanks to that guy you now have the means, motive, and opportunity to check that assumption. The top scientists are always saying that we learn the most when we do the work of gathering data and what we predicted to be true turns out not to be so. Those guys actually hope that despite their very best efforts their very best predictions are proven wrong, because then they get to learn something new and go on to make even better predictions in the future.

1 Like

Just for the record, this has been a fantastic topic so far. Great discussion and lots of useful back and forth. :+1:

The answer to that question remains of a mystery with the original charts, isn’t it? That’s because RH and Temps weren’t included in the report, so we’re left in the dark leaving us to speculate if there was an impact. This omission of critical data is what makes the report flawed in my view.

What we do know is that ambient temperatures and relative humidity can really have a profound influence over filament performance. It’s safe to say that’s common knowledge, given all the reports out there. But, granted, anecdotal data is not exactly proof either. Still, all I am saying is that in the spirit of scientific rigor, it’s crucial to factor that in as one of the environmental variables if one want’s to nail a proper analysis.

Please don’t assume that. My experience tells a different story. I’ve noticed that relative shrinkage can also be affected by factors like wall thickness, overall model height in the z-axis, and, last but not least, the location of the hole or model on the build plate. All these variables are deliberately overlooked in the method I described earlier because we’re solely measuring to compensate for that specific print, with that particular model, filament, and the conditions present at that time.

I want to put the disclaimer up front that the method I shared is expedient, not scientifically rigorous. Two schools of thought guide me, the first I already mentioned: “a job worth doing is a job worth doing well” but the second is “doing a job right versus doing it right now.” Wisdom lies in experience and knowing when to apply each approach. My premise is that analysis from certain YouTube experts aids in establishing a baseline understanding. However, we derail when overanalyzing for the sake of analysis itself. This seems more like intellectual hubris than a worthwhile endeavor. My approach shows that while analysis is beneficial for producing reusable results, if outcomes vary with each use, bypassing analysis for direct measurement is necessary, which is what my method tries to achieve.

Consider this, the method used by the Cauliflower test takes hours. I’ve tried it myself. However, it does not create a reusable set of data that can be applied across filaments and print conditions. Whereas my method of printing a quick hole produces results in minutes allowing one to produce output quickly.

I did not read it in that way originally, but I think you’re interpretation is a valid one.

We’re completely on the same page. Anyone who starts tinkering with settings without analyzing the original data is essentially behaving like a monkey randomly pushing buttons, hoping for a banana to pop out of the drawer (a reference to animal intelligence tests). That’s why I emphasized the importance of understanding. However, too many engineers and 3D printing hobbyists view the pursuit of understanding as the ultimate goal, myself included, which is why I need to remind myself to stay grounded from time to time. This especially true when I’m under a time crunch and need to get a goal accomplished.

1 Like

Thanks for the info. I appreciate the time you take to share your knowledge.

I wonder sometimes if Germans have ever had an equivalent to the acronym to KISS TITS
Keep It Simple Stupid
and
Think It Through Stupid
:upside_down_face: :grinning:

I’ve actually worked with a couple of German engineers that were willing to make fun of the German engineering approach. One Swiss engineer that worked with a German company also had wisecracks on this subject.

There was a clash in the US engineering approach and the German approach when a joint project to develop a new main battle tank for NATO was attempted in the 1960s (MBT 70). They finally dropped the joint project and the US took the ideas to develop the M1 Abrams, and the Germans used the project as a starting point to develop the Leopard 2. Both are great tanks.

That’s a clever approach. I know that for micrometers Mitutoyo recommends the use of a micrometer stand. I went looking for something analogous for calipers. It’s a trickier problem. There are some solutions, but that’s the very little I know at this point.

As to whether this attention to accuracy in 3D printing is “worth it” or not, I have a different perspective. I’m guessing that at some point I will need the capability, and so why not learn and practice when you don’t really need it and the stakes are low? Then even “failures” will still count as successes, because you will most likely still have a part that meets the actual, lesser requirements. If, on the other hand, you wait to learn until you absolutely need it, then you may have a lot of plastic going into the trash before you get it right. This stuff isn’t exactly easy, so it’s not the kind of thing where you can get artificially smart in an instant by watching a 5 minute youtube video and then go and execute it perfectly. That might work for dishwasher repair, but not so much for 3D printing.

1 Like

Yeah, if I scale Califlower to 150mm, then at 3 walls, 3 bottom layers, and 5 top layers, and 15% gyroid infill, it consumes 41.88g.

With 2 walls, 3 top layers, 3 bottom layers, and 15% gyroid infill, it only drops to 38.04g.

With 15% lightning infill, it drops to 34.26g.

I’d worry that if I kept chipping away at it, it might undermine the results, although it would be easy enough to run it both ways to see how far is too far to go in thinning things out. Regardless, it’s not all that much in comparison to the sum of all the orca slicer calibrations, but nonetheless the grand total is probably more than what I had imagined.

Scaling it to 200mm, to get the most accurate measurement, is going to be wasteful with the Califlower. I guess I’ll try it both ways to see if, in practical terms, it’s worth going above the 100mm default.

Edit: I just now looked through makerworld/printables/thingiverse. The term “micrometer stand” has a clear and obvious meaning. I thought “caliper stand” would generate items of a similar type for calipers, but instead all the “caliper stands” were just a place to store your calipers when not in use, which is a completely different notion. :crazy_face:

1 Like

I always wanted to expose my shiny calipers to let no doubt about my geek nature, didn’t you? :crazy_face:

1 Like

Absolutely! Actually I think, KISS principle and german engineering approach go hand in hand really well. It is hard work to make a product really simple. You have to put a lot of thought, iterations and user feedback into it to condense it to the very essence and make it easily accessible.

I’m a big fan of usability and find that ignoring it can turn a great product into trash. Often times, it is far more relevant than technical specifications and feature set.
One of my all time favourite products is the Shaper Origin, a hand held CNC router. You can see, that they really took it slow and optimized the hell out of it to make it as simple to use as possible. And that really pays off. Your smartphone seems like a super complex monster compared to it. Actually they are based in San Francisco, not Germany.

So yeah, KISS all the way! But probably that is not the interpretation of the motto as you meant it :wink: