I’m starting to using the open-source gcode converter UP3dTools (which has been discussed on the forum before) to do some basic prints, but it doesn’t produce good results and I’m trying to determine why that is.
When looking at this test gcode file that has been 3D-printed through Up Studio 2 to my Up Plus 2:
; previous movement
G0 F3600 X79.75 Y79.75 Z0.3
; current movement, -19.5mm on X axis
G1 F900 X60.25 Y79.75 E1.21607
This is the corresponding series of relative-movement commands (command 4) sent to the printer by Up Studio:
Hexadecimal bytes Relative movement command parameters
040000001e00a861d8ff11001100aeff00000000 (30, 25000, -40, 17, 17, -82, 0, 0)
04000000ab0176615df601000a00000000000000 (427, 24950, -2467, 1, 10, 0, 0, 0)
04000000ab0176615df601000a00000000000000 (427, 24950, -2467, 1, 10, 0, 0, 0)
04000000ab0176615df601000a00000000000000 (427, 24950, -2467, 1, 10, 0, 0, 0)
04000000ab0176615df601000a00000000000000 (427, 24950, -2467, 1, 10, 0, 0, 0)
04000000ab0176615cf601000a00000000000000 (427, 24950, -2468, 1, 10, 0, 0, 0)
04000000ab0176615df601000a00000000000000 (427, 24950, -2467, 1, 10, 0, 0, 0)
040000000200ca53e1f8ff00ff003c0000000000 (2, 21450, -1823, 255, 255, 60, 0, 0)
Looking at the commands, it seems that parameter 1 is a number of counts, and parameter 3 is the number of 512ths of a motor step to advance the X axis by on each count. This gives 6,325,727 / 512 = 12354 motor steps, which is 19.18mm for the Up Plus 2’s 644 steps/mm. A bit short of the actual 19.5mm movement. Presumably, the 6th parameter can be used to make up the missing 103,969 512th-steps for the X axis. But it’s not clear how that might add up to 103,969.
So my questions are,
- How do the final 3 parameters work? - UP3DTools interprets these as acceleration terms.
- Why is the Y axis (4th parameter) being slightly moved during an X-axis-only movement command?
Can anyone give any hints on how this works or is intended to work?