Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
I have some G-code written by hand that has evolved over a number of years... however it is not very efficient in it's current orientation. Ideally I would rotate by 90 degrees and then somehow translate so I can make 3 parts from one piece of large stock (there are 3 tool changes in the program). I've been trying to wrap my head around m68 but with no luck.
I zero the program by touching the front left top of the stock (from my POV sitting in a chair in front of the machine).
Can anyone provide some advice or tips?
I am using Camotics to simulate the program. I'm concerned also that Camotics will do one thing and Pathpilot yet another. My machine is currently 5 hours away because I moved and so it's a PITA to go and use it.
Pardon if this sounds stupid, I have no machining background, I happen to make just enough parts with the PCNC to justify owning an older barebones one.
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
I assume you mean G68, not M68?
When you rotate the coordinate system, you also need to offset it. Let's assume you rotate 90 degrees clockwise. What was 1 inch +Y will now be 1 inch +X. Also, if you touch off front-left before rotation, that 0,0 will now be back-left after rotation.
What's extra annoying is that rotation happens AFTER all offsets, so if you want to offset by 1 inch positive Y, you have to un-rotate that offset in your calculator (in the previous example, Y+1 becomes X-1 after un-rotating) and then add that offset to your G54 or whatever, so that it then becomes a Y+1 after the rotation.
Here's another option:
Open your G-code file, and save a copy (you know, for backup purposes!)
Now, for every line, where you see an X value, you change it to the same value, but negative, in Y. And wherever you see a Y value, change it to the same in X. Where you see I, make it negative J, and where you see J, make it I.
This will manually rotate the entire coordinate system. You can verify it in your tool path preview program.
Example:
G0 X5 Y2
G2 I1 J2 X6 Y3.732
This turns into:
G0 Y-5 X2
G2 J-1 I2 Y-6 X3.732
Making three parts manually requires more editing, but at this point, it's just copy-and-paste.
Find each tool change. Copy the code after the tool change until the next tool change, and paste it two more times.
Now, right after the tool change, Add a G54 line. Before the first copy, add a G55 line. Before the second copy, add a G56 line. Do this for each tool section.
Now, when you touch off parts, you have to touch them off three times; once for G54, once for G55, and once for G56. Then, when you go, the mill will cut all three parts, each based on their individual touch-off.
Luckily, rotation happens AFTER work offset, meaning it rotates around your work offset zero, which means that you don't need to do anything more to rotate the program than what you already did above.
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
If you want to test your code but have no machine nearby you could use Tormach's virtual PP. See https://www.tormach.com/pathpilot/
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
Thanks for the tips! The G-Code is quite long but I'll try to write a script to update the coordinates. I signed up for the Virtual PathPilot so that's a huge help. Camotics wasn't always 1:1 with Pathpilot, so I get some surprises after simulation.
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
IF you have an older Tormach 1100 that runs Mach3 then the virtual PathPilot will not do you any good
as it does NOT use G68 for coord rotation.
(;-) TP
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
Quote:
Originally Posted by
jwatte
Here's another option:
Open your G-code file, and save a copy (you know, for backup purposes!)
Now, for every line, where you see an X value, you change it to the same value, but negative, in Y. And wherever you see a Y value, change it to the same in X. Where you see I, make it negative J, and where you see J, make it I.
This will manually rotate the entire coordinate system. You can verify it in your tool path preview program.
I ended up search/replace " " with "," and loading the G-code into Excel as CSV (it's 2500 rows, so beyond manual editing). I then replaced X in the left hand column with Y- and so forth. I normally write the code as G01X10Y10 but there were 197 lines where there was a space between the Gxx and the first coordinate, so I had to manually fix those.
Dont forget to search and replace "--" with "". Then save the file, open in NotePad, and replace "," with a " " to get back to well formed g-code.
PathPilot virtual seems to have been down but it's working again today (I used Camotics last night, but as usual, it is painful and kept crashing or hanging [tool paths calculate OK, but it can't simulate the work piece]). Found and fixed some errors (all in the lines where I manually edited). Now I'm moving on to the offsets.
Thanks!
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
Quote:
Originally Posted by
vmax549
IF you have an older Tormach 1100 that runs Mach3 then the virtual PathPilot will not do you any good
as it does NOT use G68 for coord rotation.
(;-) TP
I do have an older one but I upgraded to PathPilot when it came out. Mach3 drove me nuts.
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
Quote:
Originally Posted by
jwatte
I assume you mean G68, not M68?
When you rotate the coordinate system, you also need to offset it.
Ok, one Q. I duplicated my G-code 3 times and put g54, 55, 56 right before each block.
I then go into PathPilot work offset table. I had assumed g54 would be set to 0,0,0, and I could add 9 inches to each X offset (since my part is 8 inches or so wide) so g55 is 9,0,0 etc. However, g54 is 3.555, -1.3208, -4.7255. Now I can just add 9 inches , but wondering where those seemingly random numbers originate from...
EDIT: Just tried copy g54 offsets to g55 and g56 and then adding 9 and 18 to X respectively, and it appears to work as I thought it would. Just have no idea where those initial settings came from.
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
Those numbers are where the spindle was located when you zeroed the axes. E g, "zeroing an axis" really means "put the negative value of the absolute position of the spindle, into the work coordinate system offset."
So, if the absolute value is X=2.5, Y=-1, Z=6, and you "zero axis" on all three axes, the G54 coordinate system will be X=-2.5, Y=1, Z=-6.
The DRO values you see for where the spindle is, are calculated as "the absolute position of the spindle (relative to the home of each axis) PLUS the current work coordinate system offset."
So, absolution position X=2.5, plus G54 offset X=-2.5, means that the DRO reads 0.
(Actually, hmm, I'm not at the machine right now, and I'm not sure if the absolute position is copied into G54 and the G54 offset subtracted; or whether the negative of the absolute position is copied into G54 and the G54 offset added -- it's the same result in the end, but if you edit G54 directly, obviously the sign matters :-)
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
Well after all that prep work, I get majorly delayed by snow and then stuck outside the shop because the garage door is broken and I've forgotten the door key, I manage to pry the door open using a bicycle frame, then I realize the electrician has wired the wrong receptacle on the wall so I hard wire the machine to the panel, then the PathPilot hard drive dies booting the machine (click click click). I kept my Mach3 hard drive just in case so I guess I'll be tossing that in and hoping it runs. I found the PathPilot install CD if I can somehow find a hard drive on a Sunday out in the boonies while it's snowing again.
One note for anyone else copy pasting their G-code: there are commands to end a program. If you include those when you duplicate your code... well you still only get one part.
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
hy mojo :)
Quote:
I have some G-code written by hand that has evolved over a number of years...
yeah, me too ...
Quote:
I have no machining background
so far, i always believed that someone who is building a g-code over 'years' has machining background :) hmm, whatever
Quote:
Ideally I would rotate by 90 degrees and then somehow translate so I can make 3 parts from one piece of large stock (there are 3 tool changes in the program). I've been trying to wrap my head around m68 but with no luck.
i have no experience with your type of machine, but i use simple G code :
... enable transformation : activate translation_among_x translation_among_y rotation_of_current_coordinates
... cutting
... disable transformation
* i don't know the g code for your machine, but i guess that it should be inside the manuals :)
even if it works, i don't always use it for long setups, because it is causing downtime with re-positioning, so i have a general code, that is build in this way :
... toolpath is not like X10 Y12, but like X10+tx Y12+ty, where tx & ty are variables, that can be edited inside the program, so to translate the entire toolpath
... i use also a coordinate transformation, going from rectangular (xoy) to polar coordinates(r alfa), thus being able to rotate a point like alfa=mod[alfa+rotation,360]; i use mod so to avoid generating an angle >360 / kindly :)
Re: Having Trouble Rotating Hand Written G-Code w/ PCNC 1100
Coordinate rotation in PathPilot does work well why not use it. It is controlled by the gcode G10 L2 Rxx.
Move to teh Point of origin of the PART. Input G10 L2 R90 . The toolpath will rotate 90 CCW . Cut your part and then clear the rotation with G10 L2 R0. Move to the next point of origin for the part and repeat . THAT is the easy/simple way to use it. You can make it as complicated as you want.
One thing though when you jog it will jog in teh original plane But when it is controlled from Gcode it moves in the Rotated plane.
Just a thought, (;-) TP