Page 1 of 2

difference in scale between the stl file & print

Posted: Mon Apr 15, 2013 9:44 am
by vunch__83
I use solidworks to draw my parts,
I register file in STL file format, before to load it in repetier-host,
The distances are off
for wheel-shaped part of 48 mm diameter and 16.3 central hole,
I measured 47 mm and 14.7mm diameter for the central hole.

the levels are ok

note : weel is printed flat side,
is there is a firmware adjustment to do to set the distances accuracy ?

Re: difference in scale between the stl file & print

Posted: Mon Apr 15, 2013 11:04 am
by cassetti
Plastic will shrink slightly in printing. This is a common complaint, and why many designers on Thingiverse have trouble making interlocking parts - one model that works on your printer might not work on everyone's.

Did you print in ABS? Try printing PLA, from what I understand, PLA has less of a problem with shrinking than ABS as it cools.
Also, have you measured your single-wall thickness? Have you confirmed your wall thickness is accurate?

Re: difference in scale between the stl file & print

Posted: Mon Apr 15, 2013 12:05 pm
by Polygonhell
I adjusted the X/Y scale slightly in my firmware because I noticed parts were undersized, it's controlled by the arm length number in the firmware.
But I'd suggest printing something simple to test with like a large rectangle I used a 100x50 piece, I think my current scale maybe slightly oversized, but it isn't by much.

Re: difference in scale between the stl file & print

Posted: Tue Apr 16, 2013 2:34 am
by vunch__83
thank you polygonhell & cassetti.
I need ABS for my parts,
so I will modify original drawing for have the good sizes.
With experience, I should quickly match drawing according real dimesions
I will check also single wall thickness,
Is there is a post about this ?

Re: difference in scale between the stl file & print

Posted: Tue Apr 16, 2013 2:52 am
by vunch__83
.... ok, I found "extruder calibration " topic from Polygonhell ....

Re: difference in scale between the stl file & print

Posted: Tue Apr 16, 2013 11:47 am
by Eaglezsoar
Polygonhell wrote:I adjusted the X/Y scale slightly in my firmware because I noticed parts were undersized, it's controlled by the arm length number in the firmware.
But I'd suggest printing something simple to test with like a large rectangle I used a 100x50 piece, I think my current scale maybe slightly oversized, but it isn't by much.
How much of a change would you recommend if we want to adjust this in small steps and does it have to be done in configuration.H ?

Re: difference in scale between the stl file & print

Posted: Tue Apr 16, 2013 11:52 am
by Polygonhell
One other thing that might not be obvious to people designing parts for the first time.
Calibrate the sizes to be as close as you can but even with perfect accuracy (which doesn't exist) an 8mm rod doesn't fit in an 8mm hole, if you don't believe me take a 608 bearing and a piece of 8mm drill rod (or better an 8mm precision rod) and see if the rod fits in the hole (it won't).
There need to be tolerances in parts.

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 11:14 am
by ROBRMI
ok i have a problem with scale. My X/Y cartesian coordinates seem to be scaled ok size wise on a 20 mm print, but my Z axis travel seems way off. when i move through setup i only get a height of 265mm or so on Z in firmware, but my actual length is 350-355 mm from the top of my glass build plate.

So my question is if i move the Z axis steps per mm does that effect Z on just the Z motor, or the cartesian z axis?

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 11:30 am
by foshon
ROBRMI wrote:ok i have a problem with scale. My X/Y cartesian coordinates seem to be scaled ok size wise on a 20 mm print, but my Z axis travel seems way off. when i move through setup i only get a height of 265mm or so on Z in firmware, but my actual length is 350-355 mm from the top of my glass build plate.

So my question is if i move the Z axis steps per mm does that effect Z on just the Z motor, or the cartesian z axis?

What firmware are you using?

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 2:42 pm
by ROBRMI
Repetier - the one that SeemeCNC posted..... only changes were to flip direction on motors.

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 3:13 pm
by Polygonhell
ROBRMI wrote:Repetier - the one that SeemeCNC posted..... only changes were to flip direction on motors.
Do you have the 15 or 22 tooth pulleys and is your RAMBO an earlier or later one?
If the pulleys are plastic they are 20 tooth, and unless your kit is one of the very early ones you'll have a later RAMBO board

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 3:15 pm
by Polygonhell
ROBRMI wrote:ok i have a problem with scale. My X/Y cartesian coordinates seem to be scaled ok size wise on a 20 mm print, but my Z axis travel seems way off. when i move through setup i only get a height of 265mm or so on Z in firmware, but my actual length is 350-355 mm from the top of my glass build plate.

So my question is if i move the Z axis steps per mm does that effect Z on just the Z motor, or the cartesian z axis?
Have you checked the actual position with M114 or are you looking at the value in Repetier Host, the latter is only accurate after homing if you explicitly set the height of the printer correctly in Repetier Host.
If you move up or down 10mm does it move 10mm ?

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 4:36 pm
by ROBRMI
plastic pulleys, and rambo board is newer one i'm pretty sure. kit is like 2 mo old. did M114 when setting bed level and all that jazz.

I think a 10 mm move up in Z direction is approximately 12 mm measured, but x/y moves seem to be accurate....

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 5:24 pm
by Polygonhell
ROBRMI wrote:plastic pulleys, and rambo board is newer one i'm pretty sure. kit is like 2 mo old. did M114 when setting bed level and all that jazz.

I think a 10 mm move up in Z direction is approximately 12 mm measured, but x/y moves seem to be accurate....
What I'm trying to clarify here is how are you measuring the 265mm?
If you home and type M114 what does it report?

It really ought to be impossible for X and Y to be correct and Z wrong unless the arm length is set incorrectly in the firmware, since you haven't change that, I'm trying to establish how you are measuring the error.

It does occur to me that you might see something like this if the steps per in the firmware didn't match the steps per in the EEPROM, there is currently a bug in repetier that requires they match, or the geometry is incorrectly calculated.
Is the firmware set for the correct number of pulley teeth?
What steps per mm values are set in the EEPROM menu?

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 6:37 pm
by ROBRMI
Gotcha, I home and type M114 and the Z on both the LCD and on the Repetier host show 265.8 (which is the max length setting in Repetier firmware for:

#define X_MAX_LENGTH 265.8
#define Y_MAX_LENGTH 265.8
#define Z_MAX_LENGTH 265.8

this is the position where it touched the printbed when i did the bed height calibration measurements.

I printed a big block basically 3.5" x 1.5" x 10.5". when i physically measured the block, i had 3.6" x 1.5" x 12.9"

the block was drawin in Autocad inventor, and exported to STL.

I have the EEprom disabled currently just working from downloads.

I'm not sure about the pulley teeth. I thought Repetier took pulley diameter and calculated that:
#define PULLEY_DIAMETER 10 // pulley diameter in milimeters on stepper motors - THIS IS FOR STRING DRIVEN SETUPS LIKE KOSSEL, CEREBRUS ETC....
#define PULLEY_CIRCUMFERENCE (PULLEY_DIAMETER * 3.1415927)
#endif



#define STEPS_PER_ROTATION 200 // 200 is common, which are 1.8 degree per step motors, .9 degree motors would be 400 steps per rotation
#define MICRO_STEPS 16 // RAMBo 1.0 and earlier use 8 (1/8 stepping), 1.1 and on uses 16 (1/16 stepping) RAMPS and Pololu drivers are normally 16

/*Number of delta moves in each line. Moves that exceed this figure will be split into multiple lines.
Increasing this figure can use a lot of memory since 7 bytes * size of line buffer * MAX_SELTA_SEGMENTS_PER_LINE
will be allocated for the delta buffer. With defaults 7 * 16 * 30 = 3360 bytes. This leaves ~1K free RAM on an Arduino
Mega.
*/
#define MAX_DELTA_SEGMENTS_PER_LINE 30

// Calculations
#define AXIS_STEPS_PER_MM ((float)(MICRO_STEPS * STEPS_PER_ROTATION) / PULLEY_CIRCUMFERENCE)
#define XAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM
#define YAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM
#define ZAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM

#else
/** Drive settings for printers with cartesian drive systems */
/** \brief Number of steps for a 1mm move in x direction.
For xy gantry use 2*belt moved!
Overridden if EEPROM activated. */
#define XAXIS_STEPS_PER_MM 106.666
/** \brief Number of steps for a 1mm move in y direction.
For xy gantry use 2*belt moved!
Overridden if EEPROM activated.*/
#define YAXIS_STEPS_PER_MM 106.666
/** \brief Number of steps for a 1mm move in z direction Overridden if EEPROM activated.*/
#define ZAXIS_STEPS_PER_MM 106.666

It's very possible i have the firmware wrong, I swapped to Repetier a week or two ago....

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 6:40 pm
by ROBRMI
Polygonhell wrote:
ROBRMI wrote:plastic pulleys, and rambo board is newer one i'm pretty sure. kit is like 2 mo old. did M114 when setting bed level and all that jazz.

I think a 10 mm move up in Z direction is approximately 12 mm measured, but x/y moves seem to be accurate....
What I'm trying to clarify here is how are you measuring the 265mm?
If you home and type M114 what does it report?

It really ought to be impossible for X and Y to be correct and Z wrong unless the arm length is set incorrectly in the firmware, since you haven't change that, I'm trying to establish how you are measuring the error.

It does occur to me that you might see something like this if the steps per in the firmware didn't match the steps per in the EEPROM, there is currently a bug in repetier that requires they match, or the geometry is incorrectly calculated.
Is the firmware set for the correct number of pulley teeth?
What steps per mm values are set in the EEPROM menu?
**********************************************
Also I agree on the height thing, I may be proportianally off on all three axies, and it just shows up on Z when i'm doing something tall. The 20mm cube is 20mm x20mm x 13.13mm?

Re: difference in scale between the stl file & print

Posted: Sun May 12, 2013 10:45 pm
by Polygonhell
This is the code that actually set the steps per, the code you quote above is for filament drives not belt drives. Ensure that PULLEY_TEETH is set to 20 if you have the plastic pulleys.

Code: Select all

#if DELTA_DRIVE_TYPE == 0
/** \brief Pitch in mm of drive belt. GT2 = 2mm
*/
#define BELT_PITCH 2

/** \brief Number of teeth on X, Y and Z tower pulleys
*/
#define PULLEY_TEETH 15
#define PULLEY_CIRCUMFERENCE (BELT_PITCH * PULLEY_TEETH)



Re: difference in scale between the stl file & print

Posted: Mon May 13, 2013 9:20 pm
by Broose
Polygonhell wrote:I adjusted the X/Y scale slightly in my firmware because I noticed parts were undersized, it's controlled by the arm length number in the firmware.
But I'd suggest printing something simple to test with like a large rectangle I used a 100x50 piece, I think my current scale maybe slightly oversized, but it isn't by much.
Polygonhell - So does that mean there is a linear relationship between DELTA_DIAGONAL_ROD and XY scale?

Re: difference in scale between the stl file & print

Posted: Mon May 13, 2013 10:55 pm
by ROBRMI
Polygonhell wrote:This is the code that actually set the steps per, the code you quote above is for filament drives not belt drives. Ensure that PULLEY_TEETH is set to 20 if you have the plastic pulleys.

Code: Select all

#if DELTA_DRIVE_TYPE == 0
/** \brief Pitch in mm of drive belt. GT2 = 2mm
*/
#define BELT_PITCH 2

/** \brief Number of teeth on X, Y and Z tower pulleys
*/
#define PULLEY_TEETH 15
#define PULLEY_CIRCUMFERENCE (BELT_PITCH * PULLEY_TEETH)



Thanks for the info, out of town again, but Thursday i can try the changes. It makes complete sense though, 265.9*20/15 = 354.53mm, which is probably where my height should be.

Re: difference in scale between the stl file & print

Posted: Tue May 14, 2013 4:31 am
by Polygonhell
Broose wrote:
Polygonhell wrote:I adjusted the X/Y scale slightly in my firmware because I noticed parts were undersized, it's controlled by the arm length number in the firmware.
But I'd suggest printing something simple to test with like a large rectangle I used a 100x50 piece, I think my current scale maybe slightly oversized, but it isn't by much.
Polygonhell - So does that mean there is a linear relationship between DELTA_DIAGONAL_ROD and XY scale?
Yes, but it ought to be pretty close, I think I ended up increasing it by ~1mm, but I think my firmware results in very slightly oversized prints in X/Y.
DELTA_RADIUS also plays a part in this, but in a none linear fashion.
Note it has no effect on Z motion, that entirely down to steps per mm for X/Y and Z.

Re: difference in scale between the stl file & print

Posted: Sun May 19, 2013 10:03 am
by ROBRMI
Update, The 15 tooth 20 tooth problem was the issue, and after a long night of calibration friday, by saturday afternoon i was in buisness printing to scale with better quality than ever before. Thanks for the help to all !

Re: difference in scale between the stl file & print

Posted: Sat Aug 30, 2014 10:50 am
by iad
I know this is an older thread, but I have a similar problem, my scale is off by a factor of 1.0098 in all dimensions. I've gotten used to simply adjusting the scale of the STLs in Repetier Host, but I'd prefer to fix this properly, using the firmware configuration; what parameters should I be looking for?

Thanks!

-Luke

Re: difference in scale between the stl file & print

Posted: Sat Aug 30, 2014 3:00 pm
by bdjohns1
iad wrote:I know this is an older thread, but I have a similar problem, my scale is off by a factor of 1.0098 in all dimensions. I've gotten used to simply adjusting the scale of the STLs in Repetier Host, but I'd prefer to fix this properly, using the firmware configuration; what parameters should I be looking for?
Assuming your bed is really truly level, you want to adjust the Diagonal Arm Length in the EEPROM settings. Take whatever your current setting is, and multiply by 1.0098 if your parts are too small (scaling up) or divide by 1.0098 if your parts are too large.

Re: difference in scale between the stl file & print

Posted: Sat Aug 30, 2014 3:15 pm
by iad
Thanks, I'll give that a go. I'd say the bed is level with 0.002" or so. (i.e. no dial indicator, but it passes the "uniform-grab-on-a-sheet-of-paper" test nicely.) I assume I'll have to recalibrate the bed height after changing the arm length parameter?

-Luke

Re: difference in scale between the stl file & print

Posted: Sat Aug 30, 2014 4:34 pm
by bdjohns1
I don't think so, but it would be worth a sanity check - I think the way the math works out, the diagonal length is only supposed to affect the scaling in X and Y.