Scaling ABS prints

Reviving the discussion from this thread - I’m trying to determine the scaling factor for printing ABS.

Google-fu wisdom says 8% !! In the thread above, @abitamimbharmal recommended 2%. @Brian said that 2% is way too much and @slinkygn confirms.

Can we revive this discussion? I’m modeling a pipe elbow. It’s cosmetic (doesn’t hold water or anything else) but it does need to fit with its mating parts.

Shouldn’t calibrating the printers be part of @team_3d_fab’s setup/maintenance of the machines? It’s the first thing you do when you set up a printer at home. Then you print a Benchy :smiley:

Edit: @John_Marlow - yes this has been churning in my brain for a while. Depending on the firmware (Marlin?) on the Polyprinters you could extract the steps-per-mm value from the firmware (M503), print a calibration cube, measure said cube and calculate what you need steps-per-mm to be for your print. Then you could add an M92 step to your model’s G code and adjust the steps-per-mm for your print. Writing the new values to firmware with M500 may or may not be against the 3d fab rules.

But, as long as that printer stays set with the original steps-per-mm value, you can run “your” M92 command before printing on that particular printer. I think. It all depends on the firmware.

1 Like

If you are trying to determine print tolerances, printing out a press-fit tolerance test print is the way to go:

is a reasonable example. Prints some rods of an expected size and some holes +/- that size so you can compare how tight the tolerances are on your machine/filament/settings combination. Adjust one (or more) of those choices, and the answer can change.


Is it that same itty bitty drain pipe from Show and Tell?

Are you planning to use the PolyPrinters?


What software did you use for the model?

No, it’s an exhaust vent for a scaled stove. I modeled it in Fusion 360. I was tentatively thinking about ABS, but black resin would actually be the best. I’d be open about the material. What do you suggest?


Some thoughts on material…

PLA is probably the worst choice. I cannot think of any advantage to using it for what you want.

Resin will give you unparalleled accuracy. I suspect epoxy is a good choice for binding it to the stove. Which is also a risk. If it’s not quite right you will have to mechanically remove it (drill, file, chip). Resin has a rough / matte but uniform finish.

ABS will have visible layers / extrusion lines. That can be reduced using an acetone vapor bath.

ABS machines well. I’ve used files, wood scrapers, and knives to correct mistakes and smooth the surface.

ABS can be sculpted a bit. Wearing nitrile gloves dip a finger in acetone then rub the acetone on the part to soften it.

It can be “welded”. A dropper bottle filled with acetone plus some filament works a lot like a welder.

Acetone also works well to bond ABS to other things. Dip the part in acetone, shake off the excess, stick the part, wait a few seconds, then leave it alone.

If you use acetone with ABS, in my experience it takes about three days for for all the acetone to be released. Heat (e.g. leave it in the garage) speeds the process.

Printing pipe shapes can be tricky. The support material can make the bottom side a disaster. Especially for small parts. I’ve had fair luck not including any support. I’ve have good luck printing the part split in two then using acetone to bind the two halves together (that also works with PLA + epoxy).

My suggestion is to split the part then print the two halves in ABS. That should be an easy, simple, fast way to get started. If that’s a disaster then either try again with different print settings or move on to the resin printer.

I love talking about this stuff, pushing the limits of our 3D printers, and seeing your incredible work (!) so, if there’s anything I can do to help please let me know.


In my experience the shrinkage with ABS is a few percent. Definitely not 8%. The shape of the part seemed to matter (shrinkage didn’t seem to be uniform). When estimating schedules I would plan on at least 3 test prints before showing them to anyone else so I could tweak the designs based on differences between the file and the print to account for shrinkage and unforeseen issues. This is based on using a pair of PolyPrinter with ABS for 10,000+ hours of printing at an old job.


That’s a great suggestion. I hadn’t considered splitting it, but frankly it’s a blinding flash of the obvious. Thanks!

I split my pipe lengthwise and then made the wall rosette into a separate part. I would think these would print much better. I added a slip-fit tenon so it should be easy to position for gluing.

For reference, the “pipe” is nominal 1/2" OD and the pipe including elbow is about 2.1" long - so about the size of my bent index finger.


When you assemble them, you can paint the seam with a little acetone on a Q-tip and smooth the join. It may leach color from the ABS filament, but will soften the surface so you can burnish away the join line.

Acetone makes a good solvent for bonding the parts together, too. Note that it may eat synthetic paintbrush bristles (which is why I use cotton Q-tips.

1 Like

Can the pipes be (mostly) solid?

Yes, absolutely.

I take it that’s what you’re recommending.

It is. Yes. That gives a nice flat bottom surface which is perfect for 3D printing. That does not have to extend to the very ends of the part. You can get away with no support up to about 56 degrees. Take the top part of the pipe as an example. It’s meant to go over the rosette. You could probably leave enough of that hole the way it is so it still goes over the rosette then taper down to the centerline. (Hopefully that description makes sense!)

I think keeping the rosette attached may work well. That would save a bit of work later. The caveat is the rosette will be a little asymmetric. Given the small size / fast printing you could just try both.

The one troublesome thing with having a part split is the alignment when joining. If possible I suggest putting two little tabs on the centerline (the tabs will be split in half with the rest of the pipe). Put a hole through the tabs that is the exact size of a toothpick. I think that will make alignment a breeze. The tabs can be removed after the acetone has fully evaporated (~3 days) using a fine file; the same sort used for filling metal. I’ve done similar things and that has worked very well.

I’ve rarely had a problem with shrinkage, and I think it’s because shrinkage works differently on a 3D printed piece of plastic.

In a traditional injection molded piece, the part comes out hot and, overall, shrinks toward its center of gravity. With a 3d printed object, it shrinks in place, since it’s laid out in tiny bits at a time that cool on top of the colder plastic that was laid down during the previous layer deposition. I think it should shrink not towards the part’s center of gravity, but toward the filament’s center of gravity based on its orientation and adhesion at the moment it is laid down.

I speculate that when high-tolerance parts don’t fit, it probably has more to do with the fact that the plastic comes out of a tiny hole of fixed size moved by motors that move the head in tiny fixed increments. I can’t reposition the head in the X or Y plane in distances less than the length of the stepper motor’s “steps.”

There’s probably research that backs me up on this, but I’m not interested in the problem enough to look for it.

My recommendation is that you experiment by printing the relevant cross-sectional slices of your part and then see how well they mate.

1 Like

That’s a good idea that I will definitely use in the future. In this case, since it has a 90 degree bend at one end, a slip-fit tenon, and a tiny hole through both halves (bet you didn’t notice the hole) I can probably align it for gluing.

1 Like

Seconding this. I have used a different tolerance test from Thingiverse – but frankly, this one is far better. The only advantage of the one I used, perhaps, is that it is likely smaller and prints faster.

When I noted earlier that 2% seemed far too much, I threw some numbers in there; I didn’t do any calculations with there, but back-of-the-napkin math gives me that my prints were within 0.25% of their intended dimensions – worst-case, not as in “I observed this amount but no greater” but as in “the most fine-grained I could do as far as measurement was ±0.25% and within that range there was no perceptible error.” 0.1% would probably be a fine first guess, if you wanted to guess – but at that point, when you’re dealing with that fine a distinction you’re far better off doing a tolerance test as above.

Only thing I might add would be: try printing said test on different parts of the bed, if you’ve got a large part with relation to the bed and are concerned about end-to-end consistency. Not sure how often we level these beds – I’m sure often enough “for jazz,” but if I were printing a piece where it mattered I’d check anyway. #2c

1 Like

I actually had a print today that was a good “natural experiment” for a particular case of this – it struck me that the dimensional %error was very likely to be different (and worse) in the Z axis than over the XY plane. So I took a decent-sized piece that wouldn’t need excessive amounts of support to do so and printed it vertically. Took a few measurements in different places across the piece, and I got between just under 0.3% and a bit over 0.4% error in Z. The distances were still not large enough to credibly give more than one sigfig, so maybe if overshooting is OK one might want to start with 0.5% in Z; if you just want a “close-enough” approximation 0.35%ish would be what I’d try.

Still not as good as a tolerance test print. But it’s something, if one’s feeling lazy.

edit: all these tests were with MicroCenter ABS, almost certainly not perfectly dehydrated but well enough so the prints didn’t come out fuzzy or anything. Haven’t experienced any hygro problems with this spool yet, and don’t expect to for a while.


This is a big help. Thanks! Now I need to get an estimate for resin printing as well. I’m working on a project where size will matter (precision of the sizing) so all these estimates help.


Happy to help. I wish I had more estimates, really. For something truly precise, I’d worry about inter-machine variation, variance in accuracy/precision based on bed leveling, etc. Lots of variables! ex. 0.1% X/Y variance – it’s easy to imagine that machine to machine that small a variance in accuracy could have a pretty high relative error from machine to machine.

1 Like