Jump to content

Cura print scaling issue.


Recommended Posts

Posted · Cura print scaling issue.


  I've been printing with Cura on a Folgertech Kossel 2020 and found that a part came out printing larger by about 3.2% for the X & Y axes and 10% smaller for Z.  X, Y & Z scaling are all set to 100%. The X and Y seem to be slightly different by .2 mm for a 19mm cylindrical piece. Changing the scaling helped a bit but still came out slightly wrong and I had to remeasure and scale again. Still the part is still slightly off. I tried using other software and the part printed to the exact measurements.

  I would rather use Cura since the print quality and failure rate is much better. I checked all the settings I could find regarding scaling and can't find anything obvious that I have set incorrectly.

  Is there something obvious I might be missing?

  Thanks - D


  • Link to post
    Share on other sites

    Posted (edited) · Cura print scaling issue.

    Thanks for helping out. I printed again to get the actual dimensions for the part which I attached a pic of as well. The Z axis printed pretty close to expected this time which is odd, and the X&Y were still wrong in the same way. The expected dims are X & Y = 19.875 and Z = 15. 


    * The X, Y and Z in the attached image is how Cura has the printer labeled. I measured the part from those points with calipers. 


     Thanks - D

    Test results.png


    Edited by Dash11
  • Link to post
    Share on other sites

    Posted (edited) · Cura print scaling issue.

    A fresh cup of coffee, not a cloud in the sky, and an early morning analysis before I go fishing.  Things have been worse.


    There are never circles in an STL file and so any "circular" feature is made up of short line segments as Cura slices the triangles in the STL file.

    In the case of that gcode file, the line segments are about 0.961mm long.  Those are the chords of the approximate circle that constitutes the toolpath of the outer wall in the gcode.

    The end point of each chord describes the Major Diameter of the toolpath of the outer wall of the model.

    The midpoint of each chord describes the Minor Diameter of the toolpath of the outer wall of the model.

    The theoretical toolpath should be "1/2 line width" inside the outer wall of the model and so the theoretical toolpath should be 19.5250 diameter.



    If the screenshot above I grabbed a couple of random line ends and mid points to dimension.


    When dealing with a faceted surface (rather than a true diameter) you can only get an average.  I dumped the outer wall gcode commands of layer 30 into a spreadsheet for a closer look.

    • The average diameter described by the endpoints of all 66 chords in the toolpath and at a line width of 0.35 is 19.8723.
    • The Outer Wall Deviation is from 19.8599 to 19.8760 or a tolerance of -.0010 to -.0151.  The deviation was consistent along both the X and Y axes.
    • I did not plot the midpoints that would describe the minor diameter of the outer wall but I did check a couple.
    • If you measure across the flats of the facets you should get 19.8516mm and if you measure across the high points you should get 19.8760mm.  The actual value would vary according to the Flow of the printer as it directly effects the actual extrusion width.

    Next is the height of the model.

    The Initial Layer Height is 0.3, the Layer Height is 0.1 and the height of the top extrusion is at 15.0000mm.



    A diameter in the gcode does not exist.  Even if you use the ArcWelder plugin a circle is still a collection of short line segments (but calculated by the firmware rather than in Cura resolution settings).


    The height of the model is dead-nuts, spot-on, copacetic, exactamundo.  There will be some effect from the bed leveling procedure.  If your leveling is short by .05mm then you will get a part that is .05mm short of the design height.



    The gcode is as right as it can probably be.  It would seem that the printer is not following the instructions exactly.


    Time to load up the motorcycle with the fishing gear and head for the beach before the wife gets up and figures out where I went.


    EDIT:  I printed your gcode file.  Y dimension = 19.84.  X dimension (away from the Z seam) = 19.87.  Z height = 15.02.  The PLA was absolute crap.  The printer is an 8 bit Ender 3 Pro.

    Edited by GregValiant
  • Link to post
    Share on other sites

    Posted · Cura print scaling issue.

    Thanks for testing the print, I really appreciate it. I found a calibration print to check the angles of the print. A small deviation in the tower height or rod lengths can produce the type of scaling I'm seeing. It seems the issue coincidentally started when I switched to using Cura. I'll update when I find the issue. Thanks for your help!



  • Link to post
    Share on other sites

    Posted · Cura print scaling issue.

    I am using 5.10 and this just started to happen with my prints, and it is driving me crazy. I ran a test cube a month ago and it was perfect, now my 20mm cube is printing at 21.6 on the x & Y and 24.6 on the Z.


    I am using a homebrew Delta with HH magnetic rods and balls, a custom effector/hotend combo, BTT SKR1.3, etc. This was modded  from an FLSUN QQS Pro


    I did just upgrade to Marlin 2.1,  moved it,  and cleaned up some wiring but can't imagine that could be the issue if all else seems to be working.  I am about to tear it down, change my hotend, put in a magnetic removable bed plate,  add some bracing etc. so I will report back later after I get it set up re-calibrate everything.



  • Link to post
    Share on other sites

    Posted · Cura print scaling issue.

    I have seen some StartUp Gcodes in printer definition files that have the Steps/mm of all the stepper motors hard coded in.  For cartesian printers the XYZ really never need to be adjusted while the E steps almost always need to be calibrated.  Having the steps re-set on every print seems odd but maybe those printers don't store them in memory.  If someone had tweaked the steps to increase accuracy and then started using a StartUp with the steps/mm in it then the tweaks would be over-written when the startup runs within the gcode file.

    Cura settings like "Outer wall inset", "Horizontal expansion", the new "Scaling factor shrinkage compensation" can have an effect and improper scaling of the model when it comes into Cura can be wrong (nice way to say user error).


    It sounds like you know that printer inside and out.  You may have to tweak the steppers so their travel is correct but when it's set up right it should print correctly.  I'm still amazed at the accuracy of my printer.  Back in the day I ran a horizontal mill that was salvaged from a WWI warship.  What a POS.  It would certainly make bigger things and make them out of metal, but accuracy?  Ha.  +/- 2.5mm was about as good as it could do.


  • Link to post
    Share on other sites

    Posted · Cura print scaling issue.

    Holy F. Solved. User error as it turns out. Ouch! My Marlin 2.1 upgrade changed my default esteps. I had been looking at the settings in my vscode configuration.h file and thought they were set correctly.  I forgot that there was a call out to a def file that had settings for esteps depending on the printer model / version. I assumed 100 was the correct setting but I forgot that this model has 20 tooth gearing and not 16. I had changed it to try earlier and it didn't seem to move / probe properly, but once I reset the eeprom, changed the esteps, and recalibrated, it seems to be working properly ( and at scale). I went over and over this. Even counted the teeth of a pully/gear that I assumed was the same as the ones installed. Argh. All good now.


  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
          • Like
        • 16 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    • Create New...