Replicator 2 Printing Accuracy Question

3,357 views
Skip to first unread message

Dennis Baldwin

unread,
Jan 20, 2013, 2:25:24 PM1/20/13
to make...@googlegroups.com
Hi there,

First off thanks to everyone for your help with getting me up and running with my R2. I had one heckuva time just getting to my first print, but it finally happened. Things are working well, but I do have a follow-up question related to printing accuracy. I was just trying to model a small 19x19mm hollow square. I designed it in Sketchup and just finished printing. I'm attaching a photo with my measurements after the print. One side is 18.28mm and the other is 18.14mm. I used the default Makerware settings and wonder if this is to be expected or is there perhaps some calibration routine I can do. Any insight would be greatly appreciated!

Thank you,
Dennis

Eighty

unread,
Jan 20, 2013, 4:57:37 PM1/20/13
to make...@googlegroups.com
Just for the record, have you measured with the flats of the calipers? If you use the blades, and have thick layers, then you could be riding in the grooves (making for a slightly inaccurate reading).

Ryan Gerrish

unread,
Jan 21, 2013, 1:44:23 AM1/21/13
to make...@googlegroups.com
I've been printing stuff from sketchup, and it seems to be pretty accurate, but I havent measured them yet. I'll do that and report back.

Also, I have those calipers, and they arent always the most accurate- at least my pair isnt!

Dennis Baldwin

unread,
Jan 21, 2013, 8:08:16 AM1/21/13
to make...@googlegroups.com
That's a great suggestion and something I should have checked. Will verify today and report back. Thanks.

Dennis Baldwin

unread,
Jan 21, 2013, 8:09:58 AM1/21/13
to make...@googlegroups.com
I had started to wonder about the accuracy of the calipers, but from I can tell they're fairly accurate. I've measured a few things where I've known the exact dimensions and they've come pretty close. I'd be interested in hearing what your measurements look like. Thanks.

Jetguy

unread,
Jan 21, 2013, 9:20:10 AM1/21/13
to MakerBot Operators
There have been several questions about this recently so a good
question is, why not read the gcode and look at line segment length ?
Are they diffferent for X-Y? I know everyone including myself likes a
GUI, but sometimes, the answer is there in front of us in plain text-
as in the gcode. Learning to read gcode is an important skill and can
save you countless headaches. It's not as hard as one might think.

Let's be honest here, the answer of the cause is 3 possible places:
the 3D application at export of the STL, the carving program that
creates the gcode, and a mechanical issue. The gripe here is that we
are undersize, but there is a second gripe that X doesn't match Y. An
easy way to test is to use a stock model, the 20mm calibrations cube,
and see what it does as that first eliminates the 3D app and it's STL
export.
Next up, it could be rounding errors in the carving program so using
different versions or settings may manfest it. Rotating the object off
square to the axis or even just a 90 degree rotation might give some
hints.

Of course you should always know the mechanics of your bot. I know
somebody has the noble concept of a machine that never needs touched
but it's not here yet. Belt tension (being loose) could explain a
0.14mm difference in backlash. Keep in Mind, Y axis has 3 belts or 3
places for such a loose belt and the motor to shaft one (short belt)
is prime suspect.
> <https://lh4.googleusercontent.com/-jB-sFKp-cV0/UPxEOHvXJDI/AAAAAAAAAE...>

Wingcommander whpthomas

unread,
Jan 21, 2013, 9:39:20 AM1/21/13
to make...@googlegroups.com
I have a carbon belt drive on one of my bikes, and they actually provide an iPhone app, that is a bit like a guitar tuner. You strum the belt and it tells you whether it is tensioned enough - maybe there is an enterprising app developer amongst us? I strummed my Rep 2 belts just now and there definitely is a tone to them.

Eric Cheung

unread,
Jan 21, 2013, 10:33:48 AM1/21/13
to make...@googlegroups.com
Trying to respond to the original questions:
1. As I have tested, rep2 printing is not dimensionally accurate. Tolerances in X and Y are different (limited by nozzle diameter of 0.4mm), but Z is probably the best (limited z-axis control, could be better than 0.1mm). Exterior dimensions and interior dimensions (holes/slots) have different errors associated with them. 
2. Your caliper is way more accurate, probably a couple orders of magnitude more accurate than a Rep2 printed part.
3. Do not know is there is a way to calibrate for it. Assuming the software part of things is perfectly accurate (which is the easiest to achieve), you still need to know the plastic spill diameter when you print, which is going to be different all the time. Now you have to account to machine x-y-z translation errors (over? under? acceleration? stepper motor limits?). Now you have to account for structural flexibility of your bot. Now you have to account for the thermal contraction of the plastic printing temp and ambient temp. Looks like the road is pretty long here. 

In machining (subtractive manufacturing?), the x-y-z translation accuracy is known. The tool size/diameter is known and assumed to be reasonably rigid. The machine structure is assumed to be reasonably rigid (it's like a ton of metal). So despite my high initial hopes, my Rep2 will never come close to matching the capability to make parts that fits together...

Dan Newman

unread,
Jan 21, 2013, 12:25:16 PM1/21/13
to make...@googlegroups.com

On 21 Jan 2013 , at 5:09 AM, Dennis Baldwin wrote:

> I had started to wonder about the accuracy of the calipers, but from I can
> tell they're fairly accurate. I've measured a few things where I've known
> the exact dimensions and they've come pretty close. I'd be interested in
> hearing what your measurements look like. Thanks.

For machinists at least, it's fairly common to buy a "standard" or two
or three and keep them along with your measurement tools. These standards
are then used to check your measurement tools. And, machinists often have
pieces of precision ground flat stock which can also be used.

So, if you know any machinists you may be able to have them check or
ask them to show you how to check your tools.

Dan

Dennis Baldwin

unread,
Jan 21, 2013, 9:21:12 PM1/21/13
to make...@googlegroups.com
I just did another measurement with the flats of the calipers. One side went from 18.28mm to 18.41mm so we're headed in the right direction, but that means we're still about 0.6mm off the target of 19. Will try some of the other suggestions in this thread and let you know my findings.


On Sunday, January 20, 2013 3:57:37 PM UTC-6, Eighty wrote:

Laird Popkin

unread,
Jan 22, 2013, 1:35:12 PM1/22/13
to make...@googlegroups.com
A factor to keep in mind, if you're making parts that need to fit to non-printed parts, is that ABS shrinks by about 2% as it cools. So if you print a part that's 19mm across when printed, it'll be 19.6 mm across (roughly) when it's cooled and you measure it. If you scale it up by 2% before printing it, it should be right at 19 mm when you measure it. Note that the 2% is a typical number, a particular ABS formulation might shrink more or less. Once you work out the scaling factor for your filament, you should be able to use it consistently. So, for example, if your filament shrinks 3% as it cools (which is what it looks like, from your measurements), then you should scale your object up by 3% to compensate, and your object should come in right at 19 mm.

Keep in mind that most of the time when 3D printing the parts need to fit each other, so the 2% shrinking isn't a problem, so most people ignore it, because all of the printed objects shrink the same amount so they fit each other as designed. The shrinking is only an issue when you need to fit a printed part precisely with an existing part.

This isn't an issue unique to 3D printing. Injection molding has exactly the same issue. And CNC milling and even laser cutting have similar issues, in that if you do two cuts a precise distance apart, there's actually slightly more material removed due to the cutting tool/beam, additional material removed due to abrasion, etc. So in any manufacturing process, if you want really precise results, you need to understand and compensate for the materials and the tools used. For example, when I print parts that need to fit, I design in an 0.1 mm gap between them, to leave some room for the slight "ridging" of the printed layers. So you end up with the ridges holding the pieces together, which has a satisfying feel to it.

Eric, lots of people are printing parts that fit together. Yes, it requires careful calibration, but it's very doable. Emmet's Gearless Heart is a popular example. I've printed it a dozen or so times (it makes a great present) and it relies on accurate positioning so that all of the pieces fit and 'snap', which it does quite satisfyingly. So it would be incorrect to assume that it can't be done - it just requires designing to suit the manufacturing technology used.

I should also point out that the dimensional accuracy of the extruded plastic isn't limited by the nozzle diameter. The nozzle diameter, combined with the volume of plastic extruded, determines the width of the line of plastic extruded, but the position of the extruded plastic can be much more precisely controlled. Those don't change randomly - once you calibrate a particular filament correctly, printing is highly repeatable.

Yes, the caliper should be extremely accurate, certainly much better than 0.1mm, but the way it's used may not be. As someone else pointed out, measuring a printed plastic part with the "blade" will likely cut into the part, and could fit into "valleys" between layers, which would cause the measurement to be low.

Finally, if the dimensions are consistently off, you could apply a scaling factor. Or, better yet, you could edit your machine profile to adjust for your machine having a different "steps per mm" for whichever axis needs adjustment, so that you can print consistently without manual scaling. But I don't think the Dennis needs to do that.

- LP

Joseph Chiu

unread,
Jan 22, 2013, 4:16:50 PM1/22/13
to make...@googlegroups.com
Just as an aside, powder metal parts has shrinking problems as well -- They sinter the object to bake off the binders -- the resulting part "shrinks" in not entirely linear ways.  With experience and software, they product skewed and oversized parts which shrink to their final dimensions...




--
 
 

mke...@hotmail.com

unread,
Jan 22, 2013, 5:56:15 PM1/22/13
to make...@googlegroups.com
 
I have now printed numerous prototyping parts that are made to fit with machined parts and SLS parts.  All of them have worked beautifully.  Some of them include thread, 4-40 screws and THOR microscope thread built into the part! Some of my holes I have made are wire gudes for targeting optics and have a 25 thousandths diameter hole, also that part matched up with a quartz cuvette and it fit exactly perfectly.   My parts have all screwed together nicely using the called out threads in the parts.  Including one part that took 36 hours to print.
 
Remember that if you are making an internal curve, the STL file format will approximate that curve with polygons making it too small of a curve.  The solution is to turn your STL file quality up to no less than 5 degrees for the minimum angle.  Otherwise your curved parts will not be accurate and will require sanding. 

Dennis Baldwin

unread,
Jan 23, 2013, 12:03:12 PM1/23/13
to make...@googlegroups.com
This is such great info from everyone. Thank you. Just FYI I've gone ahead and done the 40mm cube calibration print: http://www.thingiverse.com/thing:477. Here are my results after measuring with the calipers:

X: 39.79mm
Y: 39.85mm
Z: 39.31mm

Everything is looking pretty good although Z could stand to be a little more precise :) I'll continue to tweak and post my results. Thanks for the suggestion regarding creating a profile that applies some scaling factor before I print. That's a much better suggestion than what I had originally thought to design my parts with inflated dimensions!

Wingcommander whpthomas

unread,
Jan 23, 2013, 9:03:41 PM1/23/13
to make...@googlegroups.com
I think that Z is a product of rounding of the layer height, and because the first layer is 50% then add n by layer height.

So for example if the layer height is 0.2mm you will probably be 0.1mm off, and of its 0.1mm you will probably be  0.05mm off.

Can anyone confirm this.

Björn Syse

unread,
Jan 30, 2013, 9:52:01 AM1/30/13
to make...@googlegroups.com
To sum up here, if one wanted to calibrate the machine to that it spits out pieces that are closed to the CAD dimensions, what procedure is recommended? I've hears mentions of the stepspermm setting, is that the one to go for?

Regards

- Björn

Cymon

unread,
Jan 30, 2013, 10:39:00 AM1/30/13
to make...@googlegroups.com
Filament diameter. Measure your filament diameter, then test your filament diameter. That tends to be the magic. If your filament diameter is even 2/100thsmm too high your print may not put out enough plastic to stick to the build platform. 2/100mm too low and your parts will be fatter than the model.

If you're printing in ABS you may also have to take into account shrinkage. Unfortunately there's no way to fix this besides trial and error. I find scaling up by 1.02 makes my printed legos work pretty good with the real ones.

Eighty

unread,
Jan 30, 2013, 2:06:47 PM1/30/13
to make...@googlegroups.com
I would advise against tinkering with the steps per mm unless you're on an old bot. Like Cymon says (heh, heh), filament diameter is the key. The biggest thing that got me printing well was setting the filament packing raio to 0.97, then measuring/inputting the actual filament diameter (this is for PLA). Huge difference over the default setting.

Eighty

unread,
Jan 30, 2013, 2:13:29 PM1/30/13
to make...@googlegroups.com
Wingcommander whpthomas (I think I'll just call you Winger for short), to answer your question, yes. The slices are done at the middle of the layers, so there's the potential to have some "rounding errors" on the Z count. That said, you're not guaranteed to be off by a half of a layer on every print. Theoretically, it could be almost a full layer. At least that has been my observation from troubleshooting prints.

Shawn

unread,
Jan 30, 2013, 2:22:08 PM1/30/13
to make...@googlegroups.com
I agree with Cymon that getting the filament diameter right really
matters. But that translates to getting the right amount of plastic
coming out of the nozzle.

I prefer not to "fudge" the filament measurement with a magic number.
(i.e. I measure 1.72mm but need to put in 1.78 to get the right amount
of plastic...) Instead, I would either massage the packing ratio value
or the stepspermm. It seems to me that the packing ratio value can
change depending on the source of the plastic, ambient
temperature/environment, etc. So you'd have to reset this value
periodically. Whereas the stepspermm is a mechanical measurement of
"turn this much to get 1mm or plastic extruded", so should only have to
be set once. Once either of these is set properly, then the filament
width you enter is whatever you measured.

Once you get the right amount of plastic coming out, your tolerances are
almost always 0.02mm. And if your bed is properly levelled, you'll be
very consistent in your output.

On 13-01-30 08:39 AM, Cymon wrote:
> Filament diameter. Measure your filament diameter, then test your
> filament diameter <http://www.thingiverse.com/thing:27436>. That tends
> to be the magic. If your filament diameter is even 2/100thsmm too high
> your print may not put out enough plastic to stick to the build
> platform. 2/100mm too low and your parts will be fatter than the model.
>
> If you're printing in ABS you may also have to take into account
> shrinkage. Unfortunately there's no way to fix this besides trial and
> error. I find scaling up by 1.02 makes my printed legos work pretty good
> with the real ones.
>
> On Wednesday, January 30, 2013 7:52:01 AM UTC-7, Bj�rn Syse wrote:
>
> To sum up here, if one wanted to calibrate the machine to that it
> spits out pieces that are closed to the CAD dimensions, what
> procedure is recommended? I've hears mentions of the stepspermm
> setting, is that the one to go for?
>
> Regards
>
> - Bj�rn
>
> On Sunday, January 20, 2013 8:25:24 PM UTC+1, Dennis Baldwin wrote:
>
> Hi there,
>
> First off thanks to everyone for your help with getting me up
> and running with my R2. I had one heckuva time just getting to
> my first print, but it finally happened. Things are working
> well, but I do have a follow-up question related to printing
> accuracy. I was just trying to model a small 19x19mm hollow
> square. I designed it in Sketchup and just finished printing.
> I'm attaching a photo with my measurements after the print. One
> side is 18.28mm and the other is 18.14mm. I used the default
> Makerware settings and wonder if this is to be expected or is
> there perhaps some calibration routine I can do. Any insight
> would be greatly appreciated!
>
> Thank you,
> Dennis
>
> <https://lh4.googleusercontent.com/-jB-sFKp-cV0/UPxEOHvXJDI/AAAAAAAAAEc/V4o9jVhGTDk/s1600/rep2_square.jpg>
>
> --
> You received this message because you are subscribed to the Google
> Groups "MakerBot Operators" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to makerbot+u...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Dan Newman

unread,
Jan 30, 2013, 2:25:25 PM1/30/13
to make...@googlegroups.com
Shawn wrote:
> I agree with Cymon that getting the filament diameter right really
> matters. But that translates to getting the right amount of plastic
> coming out of the nozzle.
>
> I prefer not to "fudge" the filament measurement with a magic number.
> (i.e. I measure 1.72mm but need to put in 1.78 to get the right amount
> of plastic...) Instead, I would either massage the packing ratio
> value or the stepspermm. It seems to me that the packing ratio value
> can change depending on the source of the plastic, ambient
> temperature/environment, etc. So you'd have to reset this value
> periodically. Whereas the stepspermm is a mechanical measurement of
> "turn this much to get 1mm or plastic extruded", so should only have
> to be set once. Once either of these is set properly, then the
> filament width you enter is whatever you measured.
And if you have dual extruders, then adjusting the stepspermm for each
extruder makes
the most sense, IMO. Otherwise, you have to change the filament
packing density depending
upon which extruder you will be slicing for.

Dan

Björn Syse

unread,
Jan 30, 2013, 2:33:50 PM1/30/13
to make...@googlegroups.com
Thank you all for these very valuable answers. That packing ratio, if I should start tinkering with that then, where is that property set. Is it a feature of each gcode print, or is it some machine preference? (In case of the latter, where do I find these, do I have to connect my computer to the machine?)


In theory then, these settings should help me and others to get the 20mm cube being as close to 20 mm as possible then. But in my case, my x and y dimensions differ a lot and I never get round cylinders/holes, always somewhat elliptical (actually more like two circles overlapping). What calibration routine could remedy this? Some mechanical adjustments?

Best regards

-Björn

--

Björn Syse
bj...@syse.se
+46 706 281244

On 30 jan 2013, at 20:22, Shawn <sgr...@open2space.com> wrote:

> I agree with Cymon that getting the filament diameter right really matters. But that translates to getting the right amount of plastic coming out of the nozzle.
>
> I prefer not to "fudge" the filament measurement with a magic number. (i.e. I measure 1.72mm but need to put in 1.78 to get the right amount of plastic...) Instead, I would either massage the packing ratio value or the stepspermm. It seems to me that the packing ratio value can change depending on the source of the plastic, ambient temperature/environment, etc. So you'd have to reset this value periodically. Whereas the stepspermm is a mechanical measurement of "turn this much to get 1mm or plastic extruded", so should only have to be set once. Once either of these is set properly, then the filament width you enter is whatever you measured.
>
> Once you get the right amount of plastic coming out, your tolerances are almost always 0.02mm. And if your bed is properly levelled, you'll be very consistent in your output.
>
> On 13-01-30 08:39 AM, Cymon wrote:
>> Filament diameter. Measure your filament diameter, then test your
>> filament diameter <http://www.thingiverse.com/thing:27436>. That tends
>> to be the magic. If your filament diameter is even 2/100thsmm too high
>> your print may not put out enough plastic to stick to the build
>> platform. 2/100mm too low and your parts will be fatter than the model.
>>
>> If you're printing in ABS you may also have to take into account
>> shrinkage. Unfortunately there's no way to fix this besides trial and
>> error. I find scaling up by 1.02 makes my printed legos work pretty good
>> with the real ones.
>>
>> On Wednesday, January 30, 2013 7:52:01 AM UTC-7, Björn Syse wrote:
>>
>> To sum up here, if one wanted to calibrate the machine to that it
>> spits out pieces that are closed to the CAD dimensions, what
>> procedure is recommended? I've hears mentions of the stepspermm
>> setting, is that the one to go for?
>>
>> Regards
>>
>> - Björn

Eighty

unread,
Jan 30, 2013, 3:07:29 PM1/30/13
to make...@googlegroups.com
The packing ratio is in the Skeinforge profile (dimension plugin, I think). The default setting of 0.85 is for ABS plastic. If you're using PLA, try 0.97.
Dan is right about dual extruders, I forgot about that.

Björn Syse

unread,
Jan 30, 2013, 4:05:25 PM1/30/13
to make...@googlegroups.com
Ah, crap, i was hoping to continue to use makerware slicer instead of skeinforge since I think it has worked so good for me since makerware 1.1.

You happen to know if there is an equivalent setting there?

On 30 jan 2013, at 21:07, Eighty <adun...@gmail.com> wrote:

> The packing ratio is in the Skeinforge profile (dimension plugin, I think). The default setting of 0.85 is for ABS plastic. If you're using PLA, try 0.97.
> Dan is right about dual extruders, I forgot about that.
>

Eighty

unread,
Jan 30, 2013, 4:14:52 PM1/30/13
to make...@googlegroups.com
There is. It's called "feedstock multiplier". You have to edit the profile to change it (follow the instructions on the makerbot site).

Björn Syse

unread,
Jan 30, 2013, 4:25:51 PM1/30/13
to make...@googlegroups.com
There it is, many thanks!

On 30 jan 2013, at 22:14, Eighty <adun...@gmail.com> wrote:

> There is. It's called "feedstock multiplier". You have to edit the profile to change it (follow the instructions on the makerbot site).
>

Greg Thorstad

unread,
Feb 15, 2013, 9:15:54 AM2/15/13
to make...@googlegroups.com
Have you checked the tension on the Y belts. Quite often when the y axis is too short then one of the Y belts is loose.
 
Greg Thorstad, B. Comm.
Thorstad Computer/Thor3d.ca/Canadian Makerbot Distributor
Box 268
Outlook, SK
S0L 2N0
306 867-9596
----- Original Message -----
Sent: Friday, February 15, 2013 7:57 AM
Subject: Re: [MakerBot] Re: Replicator 2 Printing Accuracy Question



I prefer not to "fudge" the filament measurement with a magic number.
(i.e. I measure 1.72mm but need to put in 1.78 to get the right amount
of plastic...)  Instead, I would either massage the packing ratio value
or the stepspermm.  It seems to me that the packing ratio value can
change depending on the source of the plastic, ambient
temperature/environment, etc.  So you'd have to reset this value
periodically.  Whereas the stepspermm is a mechanical measurement of
"turn this much to get 1mm or plastic extruded", so should only have to
be set once.
 Once either of these is set properly, then the filament
width you enter is whatever you measured.


How do you make this adjustment.  We have done like 20 parts,  all come out accurate in the x axis (within 0.002") and 0.015" - 0.020" short in Y axis.
We have done all the support recommended crap and ran several tests to prove the Y axis isn't calibrated correctly.  
If the filament measurement was off both axis's would have inaccuracy problems?

rep2supp...@gmail.com

unread,
Feb 15, 2013, 9:51:45 AM2/15/13
to make...@googlegroups.com
Yes, the 2 long Y belts are very tight from factory and the vertical Y is snug, tight as I can get it. 

On Friday, February 15, 2013 8:15:54 AM UTC-6, Greg Thorstad wrote:
Have you checked the tension on the Y belts. Quite often when the y axis is too short then one of the Y belts is loose.
 
Greg Thorstad, B. Comm.
Thorstad Computer/Thor3d.ca/Canadian Makerbot Distributor
Box 268
Outlook, SK
S0L 2N0
306 867-9596
----- Original Message -----


Joseph Chiu

unread,
Feb 15, 2013, 10:37:59 AM2/15/13
to make...@googlegroups.com
It could be that the Y is fine, and the X is loose, then.  Just because you got the size you expected, doesn't mean it's actually right!  :)

In my own experience, 20 mm cal cubes have generally been about .1 to .2 mm shy of the full 20.  So about 4 to 8 thou's.  Depending on plastic shrinkage, you might experiencing more.

One of the best ways to check for tension symmetry is to print circular calibration pieces.  I made my own (http://www.thingiverse.com/thing:18709) to tune my ToM until circles were truly round even at high speeds.  




--

rep2supp...@gmail.com

unread,
Feb 15, 2013, 1:19:38 PM2/15/13
to make...@googlegroups.com, joe...@joechiu.com

The x belt is looser than the other belts.  But I can't get it to go any tighter, I run out of adjustment. 

If my step file is a perfect 2.000" square I want a way to calibrate the printer so that all the axis's are actually close to 2.000"
These machines should print more accurate than .008" off. (or the 0.020" we see on the Y axis)  They say 0.0004" positioning accuracy on the machine descriptions. 

Eighty

unread,
Feb 15, 2013, 2:10:05 PM2/15/13
to make...@googlegroups.com, joe...@joechiu.com
If my step file is a perfect 2.000" square I want a way to calibrate the printer so that all the axis's are actually close to 2.000"
These machines should print more accurate than .008" off. (or the 0.020" we see on the Y axis)  They say 0.0004" positioning accuracy on the machine descriptions.
 
Millimeters are easier - that's what the bot uses.  Your 0.008" measurement is 0.20mm.
 
Positioning accuracy is one thing.  But keep in mind that you're putting out a noodle with a  0.4mm diameter, which then gets "squished" into something different (depending on your slicing settings).  I just looked at the gcode for a 20mm calibration cube that I sliced a while back, and the outer loop goes from -9.4mm to +9.4mm.  The outer diameter of the cube will add another half the nozzle width on each side, plus the "squish" factor.  Your slicing settings will determine the assumption used for that.
 
So your bot might be doing pretty well with positioning accuracy.  You may need to revisit your slicing settings.

rep2supp...@gmail.com

unread,
Feb 18, 2013, 8:37:34 AM2/18/13
to make...@googlegroups.com, joe...@joechiu.com

What setting exactly?  The x axis is always correct and Y is always short (between .2mm - .5mm short)  on all the settings we have tried.  Unless there is an offset for each axis?

 
 

Eighty

unread,
Feb 18, 2013, 2:02:31 PM2/18/13
to make...@googlegroups.com
 Well, there are the stepspermm settings in the machine definition xml file.  But that should be properly set for your printer.  I would only recommend modifying it if your accuracy issue is scalable.  By that, I mean that if you double the print size, the error doubles as well.
But if you're just getting a small error (0.2mm) in one axis, regardless of the print size, then don't mess with the machine.xml file.

rep2supp...@gmail.com

unread,
Feb 18, 2013, 3:40:28 PM2/18/13
to make...@googlegroups.com
It's up to .5mm error in Y axis in a 50mm part. 
We've done some experimenting.

1. We tried changing the stepspermm in the Y axis with the MakerBot directly connected with a usb.  (Also changed the print temp by 1 deg to confirm the changes happened)  Tried small changes, then big ones, then 150% and nothing changed in the test prints.  Seems like stepspermm isn't doing anything when we change it?

2. We wrote a g code program and put a dial indicator on the head to test the accuracy (distance traveled vs. programmed distance) of the printer.  The program told the machine to go back and forth many times in a straight line 20mm long.  We tested each axis separately.  The x and y axis both measured 19.58mm to 19.59mm consistently.  (which should disprove belt tension as being our problem) I guess the difference from the commanded 20mm was a nozzle offset.  But if both axis's are reading the same distance consistently, and should be offset the same for the nozzle,  why is the y axis always .3mm - .5mm short?
P2150014.JPG

Eighty

unread,
Feb 18, 2013, 3:50:06 PM2/18/13
to make...@googlegroups.com
Perhaps I'm confused about the issue you're having.  You said that a test run showed both X and Y axes moving 19.58-19.59mm.  But then you said the Y axis is consistently off by 0.3-0.5mm.  I must have missed something.  Could you expand a bit further on that?

rep2supp...@gmail.com

unread,
Feb 18, 2013, 4:23:04 PM2/18/13
to make...@googlegroups.com


On Monday, February 18, 2013 2:50:06 PM UTC-6, Eighty wrote:
Perhaps I'm confused about the issue you're having.  You said that a test run showed both X and Y axes moving 19.58-19.59mm.  But then you said the Y axis is consistently off by 0.3-0.5mm.  I must have missed something.  Could you expand a bit further on that?

On our printed parts Y axis is off by .3mm - .5mm always.

On the g code test, we where measuring the head travel, not printing a part.  Each axis was commanded to go 20mm.  They both went  19.58mm.  See attached pic.
So the printer travel is the same between the 2 axis's but the printed parts are measuring differently.

Eighty

unread,
Feb 18, 2013, 4:58:10 PM2/18/13
to make...@googlegroups.com
Well, I'm at a loss to explain that behavior.  Theoretically, if the axes have been observed to move the same, then the plastic should be the same.  Only possible explanation I can come up with is that your nozzle tip has been damaged (or was fabricated poorly) such that it's not a round hole.  If it was partially blocked, then I guess I could see a minor difference in the outermost measurements.
On a side note, I don't know how you wrote the test gcode.  But if you manually put in the instructions to make PRECISELY 20mm moves and you're only getting 19.58mm (which is about 2% short of true), then you might consider activating the Scale plugin of Skeinforge and upping the XY Plane Scale.  But as with the stepspermm settings, you might want to make sure that this is scalable issue first.

rep2supp...@gmail.com

unread,
Feb 19, 2013, 9:03:11 AM2/19/13
to make...@googlegroups.com
Does the XY plane scale adjust one axis in relation to the other?  Or both the same from the original part size?

In the G code, we put in X, then later Y moves exactly 20mm apart.  Maybe it is going 19.58mm to compensate for the nozzle diameter because it thinks I want a printed part 20mm wide? 

Eighty

unread,
Feb 19, 2013, 9:32:35 AM2/19/13
to make...@googlegroups.com
No, that's the reason I asked about the gcode.  If you generated the gcode from a slicer, it will generate a toolpath that attempts to make the plastic into a 20mm cube (by moving the nozzle 19.4mm +/-).  If you just hand-write the gcode to precise 20mm moves, that's another thing.  So if you're getting 19.58mm on a "true" 20mm gcode command, then you should make some adjustments.
 
I don't personally use the "Scale" plugin, but my understanding is that it scales each axis (X and Y) the same.  In your case, you'd want to use a 1.02 scale to correct the 19.58mm moves in each axis to 20mm moves in each axis.  Then you need to address the shortcoming on the Y axis.  I still can't wrap my feeble brain around that issue.  If your Y axis is moving the same distance as your X axis, then your Y extrusion should be the same as your X extrusion.
 
I pulled out the last calibration cube I printed, and compared each side.  One was 19.97-19.98mm, and the other side was 19.88-19.89mm.  So I have a 0.11mm variation (not sure which side was X and which side was Y).
 
You know, now that I think about it, this issue could just be a function of the print bed moving.  We're talking teeny-tiny movements, and you can visually see the bed jiggle when the extruder pushes against the plastic.  Perhaps that would explain it.  Maybe you could try shimming some paper underneath the build plate to see if it makes any difference. 

rep2supp...@gmail.com

unread,
Feb 19, 2013, 10:56:02 AM2/19/13
to make...@googlegroups.com
We don't know what's going on either, lol. 

The x axis has always been dead on for our printed parts.  And scaling the whole part would affect that.  Scaling the parts Y axis up by 1% in makerware gets us close.  But we wanted a way to calibrate the printer instead of scaling Y in every part.

I don't know why on our distance actually traveled test, both axis's go the same amount (19.58mm) when told to go 20mm.  But when printing they come up consistently different (y axis around 1% short).
On the G code program, we took an existing printed part code.  Modified the beginning to not turn the extruder on, then modified the positions to the numbers we wanted and slowed the feed rate down to read the dial indicator.

We're starting to have doubts on if this machine is good enough for use in Engineering type work.  We scaled Y up by 1% and got the outside dimensions correct.  But if we have a hole in the middle of a part it is way undersized (by 1% - 1.5%) and out of round, even with both overall lengths correct.

Dan Newman

unread,
Feb 19, 2013, 8:20:07 PM2/19/13
to make...@googlegroups.com
> We're starting to have doubts on if this machine is good enough for use in
> Engineering type work. We scaled Y up by 1% and got the outside dimensions
> correct. But if we have a hole in the middle of a part it is way
> undersized (by 1% - 1.5%) and out of round, even with both overall lengths
> correct.

For the big, expensive commercial 3D printers, the manufacturer often provides
design guidelines to aid in designing a part for 3d printing on their printers.
To the best of my knowledge, MBI doesn't provide such information beyond some
information on dealing with overhangs.

For small holes printed with FDM, some of the big machines automatically
recognize holes and compensate. But for the machines that don't do that,
there's guidelines such as use a slightly oversized hexagon, etc. For
your own edification, here's an often cited article in the DIY 3D printing
space on this subject,

http://hydraraptor.blogspot.com/2011/02/polyholes.html

Dan

Joseph Chiu

unread,
Feb 19, 2013, 9:47:24 PM2/19/13
to make...@googlegroups.com
Try this -- scale up your calibration piece to 100mm x 100mm, and run the job really slow -- like 20 mm/sec.  For this purpose, you can stop after the first few layers --- then measure the sizes near the top of the printed layers (the bottom layers are more prone to being too wide at the first layers due to smooshing, and then possibly narrower due to shrinking).  

You'll most likely find that there's not the same Y:X ratio.  

I suspect the problem is more likely with the workflow/software, and also plastic shrinkage, particularly if you are using ABS.

The holes being undersized is likely an artifact of the faceting of your model when converting to STL.

Just so I understand, what kind of tolerances are you expecting, and what size parts are you planning on printing?  Depending on your needs, the Makerbot/RepRap style machines may in fact not be the right machine for you.


rep2supp...@gmail.com

unread,
Feb 20, 2013, 9:30:52 AM2/20/13
to make...@googlegroups.com, joe...@joechiu.com

We got the Rep 2 to be an intro for us into 3d printing, see what it can do and to see if we would want to get a more expensive machine.  We used to machine our prototypes out of solid aluminum.
We would print pretty much any size that fits in the build platform.  Accuracy we want is within ± 0.004" ( or .1mm)  and the x axis has been within ± 0.002" ( .05mm) consistently.
I don't think it's plastic shrinkage, that would affect both axes?
On the 100mm piece, X was good, a little under 100mm. And Y was a little over 99mm.  So where can you change the printer or slicer Y:X ratio?  I would prefer to calibrate the printer or slicer one time and be done with it.  Instead of scaling every part in makerware.

Eighty

unread,
Feb 20, 2013, 9:52:16 AM2/20/13
to make...@googlegroups.com
If you want to calibrate the machine differently in the X/Y/Z axes, then you should adjust the stepspermm settings in the machine xml file.
 
Since you've printed a larger piece and seen a larger difference between the X and Y axes, you might give this a try.  If you're happy with the X setting, leave it alone.  Then adjust the Y by 1% or so.  It looks like you want the Y to be bigger, so bump up the stepspermm by 1%.  If you don't like it, you can always change it back.  But that would be the way to "permanently" set it to your liking. 

Jetguy

unread,
Feb 20, 2013, 10:01:57 AM2/20/13
to MakerBot Operators
Back to basics. This is what you guys lost when they are pre-built and
canned software.

All the mechanical parameters are defined in the "machine name.xml"
file in the machines folder of replicator-G. When you select a machine
type, this then pushes the settings in that file to the firmware of
the machine on connect. Makerware has a slightly different system but
the same basic concept, a file contains the exact same info. I'm
telling you this because if you "fix it in Rep-G and then connect with
Makerware, the settings will revert back to stock.

For each axis in the XML file, there are settings for max length,
homing rates, max feedrates, and the magic steps per mm. Obviously,
that is what affects scaling. So IF you want to edit that, then follow
one of the hundreds of tutorial on Replicator-G.

Just keep in mind to back up the config file as you need to replace it
when you update rep-g versions as they come out.

See here:
http://reprap.org/wiki/Arduino_GCode_Interpreter#X_STEPS_PER_MM

"X_STEPS_PER_INCH
This variable stores how many steps to take to move the X axis 1 inch.
You will need to set this as accurately as possible if you want your
machine to be accurate. There are two ways to set it:

1.Move and Measure - slap a pen or marker on as a toolhead and draw a
1000 step line. Measure it and divide 1000 by the length in inches.
2.Calculate Step Size - this one is the preferred way of doing things.
Its rather easy to calculate step size based on your drive mechanism.
For threaded rod drive systems:

Find your TPI (threads per inch). for example, 1/4"-20 threaded rod
means that there are 20 threads per inch (aka 20 turns = 1 inch.)
Simply take that number and multiply it by the steps in a revolution.
With a 400 step motor, it would be 8000 steps per inch.

For belt/pulley systems:

1.Find the circumference of your drive pulley. (remember circumference
= 2*pi*r) (say: 2.75")
2.Calculate step size (ie: circumference / steps per revolution) (say:
2.75" / 400 = 0.00625")
3.Divide 1 inch by step size (1" / 0.00625" = 160 steps/inch)
X_STEPS_PER_MM
This variable stores how many steps to take to move the X axis 1mm.
You can either calculate it independently, or take the number above
and divide by 25.4. "
> > Makerbot/RepRap style machines may in fact not be the right machine for you.- Hide quoted text -
>
> - Show quoted text -

John Freberg

unread,
Aug 25, 2013, 9:51:28 PM8/25/13
to make...@googlegroups.com
I am having almost exactly the same problem with X Vs. Y dimensional accuracy with my MakerBot Replicator 2x that Dennis Baldwin describes in his original post for this thread..

I followed the whole thread and understand the concept of editing the "machine name.xml" file in the RepicatorG package as described by Eighty and Jetguy.

But I suspect that there is an important piece of the puzzle that has been left out or changed with respect to the Replicator 2X. I can find and edit the Replicator 2X.xml file and edit it without difficulty. But, despite multiple attempts using different approaches, I cant seem to get ReplicatorG to actually use that file to create the adjusted gcode.

I've tried all manner of saves, restarts and reboots, but ReplicatorG shows the same unmodified .XML file in the Machine Information menu item.

Is the process or loading this file different for the Replicator 2 versus Replicator 2X? Has the process changed with the latest version of ReplicatorG and/or recent firmware upgrades for the MakerBot 2x?

Thanks in advance for the help.




Jetguy

unread,
Aug 25, 2013, 10:10:41 PM8/25/13
to make...@googlegroups.com
Replicator-G ONLY reads the file on startup. So if you edited while REP-G was open, then NO it doesn't see the changes.
CLOSE ALL instances the Replicator G, then start it up again and it will see the changes, you then MUST connect to the bot to write the changes to eeprom.
Further, ANY X3G files on SD cards MUST be recreated using the new machine.xml changes.
This is because the gcode doess not change, it a just the nozzle path. When you write the x3G file, it encodes using the settings from the machine.xml.
 
Now another important thing is that when you change the steps per mm, the firmware edits the homing offsets. Think of it like this, the bot ONLY knows step counts not mm. Through the steps per mm translation it stroes offsets and such via step counts, not mm. The X3G file also only has step counts, not mm distances. So what we are doing is  some math functions are performed at compile time to offload the tiny 8 bit microcontroller inside the bot..

Jetguy

unread,
Aug 25, 2013, 10:13:40 PM8/25/13
to make...@googlegroups.com
Also, please read this thread over in the Jetty/Sailfish forum.
 
This is a highly debated subject and all kinds of folks want to argue the answer. Just read that and make your own decision.
 

On Sunday, August 25, 2013 9:51:28 PM UTC-4, John Freberg wrote:

Dan Newman

unread,
Aug 25, 2013, 11:43:43 PM8/25/13
to make...@googlegroups.com

On 25 Aug 2013 , at 6:51 PM, John Freberg wrote:

> I am having almost exactly the same problem with X Vs. Y dimensional
> accuracy with my MakerBot Replicator 2x that Dennis Baldwin describes in
> his original post for this thread..
>
> I followed the whole thread and understand the concept of editing the
> "machine name.xml" file in the RepicatorG package as described by Eighty
> and Jetguy.
>
> But I suspect that there is an important piece of the puzzle that has been
> left out or changed with respect to the Replicator 2X. I can find and edit
> the Replicator 2X.xml file and edit it without difficulty.

You're talking about RepG, correct? RepG doesn't have a file named
"Replicator 2X.xml". So it's not clear what file you are speaking
of.

RepG 40r22 - Sailfish provides a definition for a Replicator 2X in
the replicator2-sailfish.xml file. For that RepG, that's the file
you would edit.

Dan

John Freberg

unread,
Aug 28, 2013, 9:27:45 PM8/28/13
to make...@googlegroups.com

Further investigation leads me to believe that I do have a scaling error somewhere my machine. As I make test prints, the dimensional errors in the X and Y dimensions increase as I scale up my test print. (a 20mm x 20mm x 10mm block scaled to 100mm x100mm x 10mm)

So, is the file highlighted in blue below the one I should be editing? How will I know that it has been loaded?

When I edit this file, and then quit and restart ReplicatorG, About this machine... does not show the edits I made to the file. x stepspermm was edited to 88.94639 and y stepspermm  to 89.24250. But About this machine... still shows the original values.


Am I looking in the wrong place?

Dan Newman

unread,
Aug 28, 2013, 10:02:48 PM8/28/13
to make...@googlegroups.com

On 28 Aug 2013 , at 6:27 PM, John Freberg wrote:

> Further investigation leads me to believe that I do have a scaling error somewhere my machine. As I make test prints, the dimensional errors in the X and Y dimensions increase as I scale up my test print. (a 20mm x 20mm x 10mm block scaled to 100mm x100mm x 10mm)
>
> So, is the file highlighted in blue below the one I should be editing? How will I know that it has been loaded?

No, you should not edit that file -- your edits will be lost when you upgrade RepG.
Instead, you should copy the file. Place the copy into

~/.replicatorg/machines/

You can name the file whatever you want as long as the name ends with ".xml". When you
edit the file, strip out all but one machine definition (between <machine> … </machine>).
And change the name for the definition to something else; e.g.,

<name>My Replicator 2 (Sailfish)</name>

Then, after you edit and save the file, restart RepG and then select the machine definition

My Replicator 2 (Sailfish)

You can then look at Machine > Machine Info to see if your edits have taken effect. If they
haven't, then you may have introduced a syntax error to the file. (Actually, if you introduce
a syntax error then you won't even see "My Replicator 2 (Sailfish)" as a choice.

Dan

José Madureira

unread,
Sep 21, 2013, 2:59:02 PM9/21/13
to make...@googlegroups.com
Hi! same problem here... did you found a solution?

Scott Bruins

unread,
Jan 17, 2014, 4:19:07 PM1/17/14
to make...@googlegroups.com
I thought I was experiencing the same issue but now I'm not sure. My 20mm blocks kept coming out at 19.5mm in X and Y (z is perfect). I thought my scale was off by 2.5% but I tried adjusting the steps per mm (from 88 to 96) but it had no effect. (I reset them back to 88).

I then tried printing a 50x50 block and that measured 49.5 X 49.5 so I determined it was not my steps per mm as that should have produced a 48.75 x 48.75 if the scale was off. After that I printed a 20x20mm block with a 10x10 square hole in the middle and guess what? The hole is also .5mm under side at 9.5mm.

So now the question is how do I fix the .5mm offset I'm seeing?

On Sunday, January 20, 2013 1:25:24 PM UTC-6, Dennis Baldwin wrote:
Hi there,

First off thanks to everyone for your help with getting me up and running with my R2. I had one heckuva time just getting to my first print, but it finally happened. Things are working well, but I do have a follow-up question related to printing accuracy. I was just trying to model a small 19x19mm hollow square. I designed it in Sketchup and just finished printing. I'm attaching a photo with my measurements after the print. One side is 18.28mm and the other is 18.14mm. I used the default Makerware settings and wonder if this is to be expected or is there perhaps some calibration routine I can do. Any insight would be greatly appreciated!

Thank you,
Dennis

Reply all
Reply to author
Forward
0 new messages