How to Fix 3D Prints That are Too Small, Big or Not to Scale
When it comes to 3D printing, dimensional accuracy and printing to scale is important. Some people experience their 3D prints coming out too small, too big, or not to scale, so I decided to write an article showing people how to fix this issue.
To fix 3D prints that are too small or too big, you should adjust your steps per mm of the extruder, as well as the X, Y & Z axis. It’s a good idea to scale your model up slightly to account for material shrinkage if your models are printing too small. There are settings you can adjust such as decreasing print speed.
There’s more information that you’ll want to know so keep on reading to fix this issue.
Why Are 3D Prints Not Printing to Scale? Too Small or Big
There are quite a few reasons why you can be experiencing this issue such as:
- Badly calibrated steps per mm
- Not using ideal slicer settings
- Firmware issues with saving settings
- Material shrinkage
- Exporting design files that scale the model
How to Fix 3D Prints Smaller Than Model or Too Big
- Adjust your X & Y steps per mm
- Adjust Slicer Settings
- Flash your firmware and reset Cura settings
- Scale models to compensate for shrinkage
- Re-scale models imported from CAD software
- Make sure your connections are secured properly
Adjust Your XYZ & E Steps per mm
One way to fix your 3D prints being smaller than your model or too big is to adjust your X & Y steps per mm. If you are using the stock firmware of your 3D printer, you might have a situation that your 3D printer has a 16 tooth pulley, while your firmware is set to a 20 tooth pulley.
If you have a stepper motor that has a 1.8 degree stepper with 16 microsteps, then your XY steps per mm should be 100, but your firmware would be expecting a 20 tooth pulley, bringing a steps per mm of 80.
To adjust for this situation, going from a 16 tooth pulley to a 20 tooth pulley, you want to multiply the steps value by 0.8 and input that in your 3D printer. To go from a 20 tooth pulley to a 16 tooth pulley, you should multiply by 1.25.
You can also calibrate your extruder steps to make sure your extruder is extruding how much filament your 3D printer tells it to extrude. Check out the video below to learn how to calibrate your extruder steps.
Having a calibrated Line Width works similarly. If you are under extruding or over extruding, this will affect whether you are 3D printing too small or too big.
You can do a thin wall calibration test to see if your line width is printing accurately by printing a 20 x 20 x 20mm cube and inputting setting with 1 wall, no infill and no top layers. Then you measure the thickness using a pair of NEIKO Digital Calipers from Amazon.
Many people recommend doing an XYZ Calibration Cube to calibrate the X, Y & Z steps per mm.
When you measure the thickness, it should be the same as what you set in your slicer. If not, that means you should adjust your axis steps per mm until it’s accurate.
Cura’s 5.0 version has brought about a cool feature called Variable Line Width which can help produce more accurate and stronger parts automatically. Check out the video below by The 3D Print General to see it in action.
Adjust Slicer Settings
Getting the right dimensional accuracy with models can actually come down to what settings you have in your slicer. Some users came across a setting called the Outer Before Inner Walls in Cura, or printing Perimeters first in PrusaSlicer.
Enabling this setting should improve the dimensions of your 3D prints if they are printing too big or too small.
There are other settings you can adjust such as:
- Decrease Print Speed
- Changing Slicing Tolerance to Exclusive
- Turning Combing Mode to Off
- Set Negative Horizontal Expansion
Decrease Print Speed
You can use your slicer settings to your advantage when it comes to create a model to proper scale. One of the key settings is your print speed which can be decreased for better accuracy. Using a value anywhere from 30-40mm/s is optimal for getting more accurate parts.
It’s also recommended to turn your Jerk and Acceleration settings off if you have them turned on.
Changing Slicing Tolerance to Exclusive
The Slicing Tolerance setting can make some useful changes to the geometry of your model during printing, so setting this to Exclusive has worked for some users.
Turning Combing Mode to Off
Turning your Combing Mode to Off can also help with models coming out too small or big and getting good dimensional accuracy. Some people prefer to have Combing mode on for other reasons though.
Set Negative Horizontal Expansion
There are two Horizontal Expansion settings, one called Initial Layer Horizontal Expansion and normal Horizontal Expansion.
It’s recommended that you use an Initial Horizontal Expansion of around half your nozzle diameter (-0.2mm for 0.4mm nozzle), and a normal Horizontal Expansion of around -0.04mm.
Flash your Firmware and Reset Cura Settings
One user found that flashing his firmware and resetting his Cura settings managed to fix his issue of 3D prints printing too large. This may have been down to the EEPROM saving data that caused 3D models to print bigger, down to the steps per mm settings.
You can basically try to reset your firmware by flashing it, or you can reset your EEPROM data through your 3D printer’s control box settings.
Check out my article How to Flash & Upgrade 3D Printer Firmware. You can see how to flash firmware using the video below as well.
Scale Models to Compensate for Shrinkage
Your issue might be coming from a natural phenomenon of shrinkage from the filament. When thermoplastic materials cool down, they have a tendency to shrink slightly, which will alter the size of a 3D print.
What you can do in this situation is to simply scale up your model by a few percent to compensate for the shrinkage. Most materials like PLA only shrink maybe 0.25-2%, so I’d start with a 1% scale up and see if that fixes your dimension issue.
Re-Scale Models Imported From CAD Software
You might be experiencing this issue due to importing models from a design or CAD software. One user who uses Fusion for their designs mentioned that you should design a model 1:1 then export it as a *.stl file, which should fix issues importing to Cura.
He said that previous versions of Cura would scale down *.obj files for some reason.
Even if you scale a model 1:1, sometimes there are differences between your design software and slicer, especially if the default units in your modeling software aren’t in millimeters. You want to make sure you change your modeling software’s default units.
You can always scale models to your ideal dimensions in your slicer after you import it.
Make Sure Your Connections Are Secured Properly
One user was having issues with 3D prints not being the correct size and he fixed it simply by plugging in an unplugged Z axis connector. Check your wired connections and make sure they are secure.