GPX and Steps Per MM,m Simplify3D Problems

864 views
Skip to first unread message

spencyg80

unread,
Feb 7, 2015, 2:10:35 PM2/7/15
to gpx-co...@googlegroups.com
 Good day all, 

I'm new to the 3d printing world and just acquired a Wanhao 4S printer and Simplify3D. I quickly upgraded the printer to the latest Sailfish firmware and have been tearing my hair out trying to get my steps per mm tuning to work. Per the folks at the S3D forum, I needed to go with a custom .ini file for the GPX post processor. I set that up and the GPX.exe is kicking .x3g files to the correct place. I have GPX installed in its own folder on the base harddrive directory to keep the path character count down. 

My current path is this:

c:\S3DGPX\gpx -p -m r1d "[output_filepath]"

I'm using the example .ini file found over at github


I have modified it to accommodate my dual head printer and have been TRYING and TRYING to get the steps per mm settings to work. They have absolutly no effect on the outputted x3g files. I don't know what I'm doing wrong but this is getting seriously frustrating. Any help would be greatly appreciated. 

SG

Dan Newman

unread,
Feb 7, 2015, 5:53:31 PM2/7/15
to spencyg80, gpx-co...@googlegroups.com
On 07/02/2015 11:10 AM, spencyg80 wrote:
> Good day all,
>
> I'm new to the 3d printing world and just acquired a Wanhao 4S printer and
> Simplify3D. I quickly upgraded the printer to the latest Sailfish firmware
> and have been tearing my hair out trying to get my steps per mm tuning to
> work. Per the folks at the S3D forum, I needed to go with a custom .ini
> file for the GPX post processor. I set that up and the GPX.exe is kicking
> .x3g files to the correct place. I have GPX installed in its own folder on
> the base harddrive directory to keep the path character count down.
>
> My current path is this:
>
> c:\S3DGPX\gpx -p -m r1d "[output_filepath]"

Where's the -c switch to tell it what .ini file to use? I recommend that you
use that and give a full file path.

> I'm using the example .ini file found over at github
>
> https://github.com/whpthomas/GPX/blob/master/examples/example-machine.ini
>
> I have modified it to accommodate my dual head printer and have been TRYING
> and TRYING to get the steps per mm settings to work. They have absolutly no
> effect on the outputted x3g files. I don't know what I'm doing wrong but
> this is getting seriously frustrating. Any help would be greatly
> appreciated.

Why do you want to change the steps/mm? What are you trying to tune? If it's
extrusion, then you don't adjust the steps/mm; you adjust the extrusion multiplier
in S3D. If it's X & Y, then what plastic are you working with? Some plastics
shrink and so you deal with that by adjusting your model.

As to the sample .ini files, I've never looked at them much but do know that
some of the comments in them are in error. Also, you

Dan

spencyg80 .

unread,
Feb 8, 2015, 7:56:23 AM2/8/15
to Dan Newman, gpx-co...@googlegroups.com
This is the the first, or the second, or even the 5th time somebody has asked me this question. I come from a CNC machine environment where the motion of the machine is a known constant. I have built a dozen or so cnc machines and consider myself proficient in industrial automation. As I enter the realm of 3D printers, it has been apparent that the mentality of having your machine motion a constant known factor instead of a variable factor is a common practice. I disagree with this logic. 

What is strange is that there doesn't seem to be any argument about the benefits of calibrating an extruder, yet when the motion of the extruder in the X,Y and Z planes is questioned, everybody seems to think this topic gets addressed with how much goo you spit out your highly calibrated extruder nozzle. 

I guess I could accept this if the extruded plastic was highly controllable, but when you throw in flow ratios, extrusion temps, filament variance both in dimension as well as chemical makeup than it all seems chaotic. 

So getting to my reasoning on calibrating EVERYTHING. I think one needs to pick a particular shape for a baseline. I opted for a 25mm x 25mm x 25mm calibration cube. After printing maybe a dozen of these things, and finally figuring out the .ini thing last night (more on that later), I now have a printer than is making a near perfect (+/- 0.05 mm) cube. These dimensions are taken AFTER the part has cooled so that any shrinkage is taken into account. I have no delusions that calibrating a 25mm cube form means a 75mm cube will be perfect. What I do know is that once I get a known shape to perform, then I can print a 50mm cube, plot the difference in tolerance, and know what size ratio I need to factor into the slicer when processing the model. Then I'll do a 75mm cube for another chart point, then a 100mm cube. When I build a component that fits within the closest cube I'll scale it by the appropriate amount based on the data above. I know different fill rates and shapes will act differently, but I feel this method will be far better than the shot-in-the-dark approach. 

I feel it must be stated that I'm not printing owls or wristbands. I'm using this printer for mechanical prototypes which must be dimensionally accurate. If I was doing 3 dimensional art or something, I doubt I'd ever care about whether I was printing something with any accuracy. 

Now, the trick with that GPX converter isn't much of a trick....just proper format. 

c:\S3DGPX\gpx -p -m r1d "[output_filepath]"

This is wrong because the -m basically tells Simplify3D to ignore the machine setup parameters within the .ini file. The r1d also doesn't seem to be necessary. 

The correct path to the ini file is:

c:\S3DGPX\gpx -p "[output_filepath]"

This allows the ini file to set machine parameters correctly. Once you have this working, you then can start tuning first your extruder(s), followed by your X, Y and Z axis. If I was tuning a cnc machine I'd have precision (0.0005") dial indicators giving me position feedback. Given the shrink factor with the plastic, this didn't seem like the right way to go for the printer which is why I opted for the tuning path which is explained above. 

I hope all this makes sense. 

SG

Joseph Chiu

unread,
Feb 8, 2015, 9:44:20 AM2/8/15
to spencyg80 ., gpx-co...@googlegroups.com, Dan Newman

Spencer,

I realize you are new to this particular group, but I can assure you that most of us cares exactly about this. Dan, especially. Read through the archives here and the now-disabled MakerBot Operators Group and you'll see a while lot of talks on measurements, precision and accuracy of the steps/mm, machine tolerances, ad nauseum.

In this particular case, I think what Dan was trying to point out to you is that it's not usually the x/y steps per mm that needs adjustment, but the extruder flow rate which is highly dependent on the feedstock. Calibrating for one material for a particular steps/mm means you are off for anothet. So the common way to address this is to adjust the correction  factor at the slicer.

There is now some changes in the way this is done in the CURA/Ultimaker community where volumetric slicing is being used - in that case, the steps/mm is changed at print time to adjust for the feedstock. On machines that takes pure g code for the E distance, that is an easy tweak. On these x3g machines, that is less so, so that you would need to run through different gpx settings for each different extruder step counts.

spencyg80 .

unread,
Feb 8, 2015, 10:04:04 AM2/8/15
to Joseph Chiu, gpx-co...@googlegroups.com, Dan Newman
 Joe, I understand and I didn't mean to suggest this wasn't a topic others were concerned about. I can see now that I re-read what I wrote how that may have been easily misinterpreted. 

I see this as a problem which will require a hybrid approach.. My printer wasn't printing the same dimensions in the X, Y, and Z dimensions, so I needed to adjust steps even if just to get the 3 axis in alignment with each other. Adjusting flow scaling doesn't seem like the right way to go, as my prints aren't water tight when the flow is scaled to 0.9, and are globby when scaled to 1.1. Using flow scale seems like it should only be used to affect surface quality, and not dimension. Overall model scale seems like the right tool for dimension, and S3D just introduced a vertical wall scaling which is interesting since you can now scale all 3 dimensions interdependently. I wouldn't think this would be necessary from an intuitive standpoint, but when printing a 50mm cube, I get a larger dimension in the Y axis than the X axis, so I might need to use this feature.. I'd love to be able to just set a scale factor, print a part and feel confident that it will be the right size, but it is becoming pretty clear that this will likely be a 2 step process. Step 1 will be printing the part at 1.00 scale, step 2 being a re-scaling of each axis to get the part to the correct dimensions. I don't know anything about Cura other than hearing about it, but if they've got a different way of managing shrink factors I should learn more about it. 

Thanks for the input guys. 

SG

Joseph Chiu

unread,
Feb 8, 2015, 10:07:09 AM2/8/15
to spencyg80 ., gpx-co...@googlegroups.com, Dan Newman
Hi Spencer,

Yeah - so part of the problem is that these machines aren't built nor move like Bridgeports or even desktop CNC machines.  And then, there's also a question of whether the slicer's output is correct.  In some cases, the perimeter can be correct, but the infill can push the perimeter out from over-extrusion, or can really pull it in due to shrink.  And in almost all cases, the part size will be wrong due to shrink, and different slicersmay or may not try to compensate for that. 

The original gold standard, Skeinforge, used to scale X and Y by 1.01 - the 1% increase to compensate for the inevitable shrink of the part after cooling that most people say were around 2 to 3% for ABS.

Welcome to MUG!  (Or, rather, to the world of "Makerbot" users... I sent you an invite to MUG, btw.)

spencyg80 .

unread,
Feb 8, 2015, 10:13:14 AM2/8/15
to Joseph Chiu, gpx-co...@googlegroups.com, Dan Newman
Indeed these machines are a number of levels of quality less than what I've come to expect out of my large CNC machines. We have a MBI Rep2 at my office and it is of equally questionable quality. Unfortunately, that unit also suffers from unequal X and Y axis scaling, but they have left it alone and chose to live with oval shaped circles and other distasteful print characteristics. Within 2 hours of playing with the Duplicator I have already got a "list" going for what the next printer will have for features....one I will undoubtedly build from scratch. 

Thanks again. 


Dan Newman

unread,
Feb 8, 2015, 11:23:31 AM2/8/15
to spencyg80 ., gpx-co...@googlegroups.com
On 08/02/2015 4:56 AM, spencyg80 . wrote:
> This is the the first, or the second, or even the 5th time somebody has
> asked me this question.

The reason I asked -- perhaps the reason you were asked previously -- is because
some people are doing unsound things or things not appropriate the the problem
they are trying to solve. As such, it's often helpful to have whomever step back
for a moment and explain what the underlying issue is that they are seeking to
address. Two examples: someone caught unaware about shrinkage, or someone
unfamiliar with backlash and how to spot it. Hence why some of us at least ask
beforehand.

I'm glad that you got the .ini file working. Know that gpx will look in the
directory from which it is running for that file. If you want to put the file
elsewhere, you can use the -c switch. Also, the "stock" version of gpx has a bug
and will fail to locate the .ini file correctly when (1) you don't use -c, and (2)
the gpx binary is in a directory path that contains a SPACE character.

Finally, you may be curious to know that historically MBI used suspect values for
the X and Y steps/mm on all their printers. They used the pulley's pitch diameter
to compute the steps/mm rather than the more conventional

micro-steps-per-full-revolution / ( belt-pitch * pulley-tooth-count)

E.g., for a Rep 2 with GT2 18T pulleys,

3200 steps / (2 mm/tooth * 18 tooth) = 88.88889 steps/mm

When Henry did GPX he had a bit of a quandry: use the values MBI used and
put into RepG and MakerWare, or use the correct values. On the note that using
different values would confuse people unware of the issue, Henry used MBI's values.
The reckoning was that people who know of the issue would simply take whatever
course of action they preferred. People not familiar with the issue would not
be confused.

Dan

Dan Newman

unread,
Feb 8, 2015, 11:26:32 AM2/8/15
to spencyg80 ., gpx-co...@googlegroups.com
Oh and Rep 2's and 2X's can suffer from backlash on the Y axis. The degree of
it seems to vary from printer to printer.

Dan

Reply all
Reply to author
Forward
0 new messages