Haas GR512 post processor

Haas GR512 post processor

liam
Contributor Contributor
624 Views
2 Replies
Message 1 of 3

Haas GR512 post processor

liam
Contributor
Contributor

I have a couple changes I'd like to make to our post. We are currently using the Haas Pre-NGC mill post. I have attached what is currently being output.

 

At the top I'd like N20 line to post so it does a move to Z4.0 then a move to Y0.0 (it is important that the Z move happens before the Y move:

N20 G53 G0 Z0.

 

At the beginning of any operation I'd like the Z move to post before the first X/Y move, so the lines below would be swapped:

N45 G0 X-71.225 Y-1.72
N50 G43 Z1.85 H4

 

Then at the end of each operation that is followed by a tool change I'd like the line to post as the comment next to it below:

N120 G53 G0 Z0. (N120 G53 G0 Y0.)

 

And finally at the end of the file I'd like to take out any Z move (since it will already be at a safe place from the clearance plane of the last operation) and just have the last line to post as the comment next to it below:

N460 G53 G0 Z0.
N465 G53 G0 X0. Y0. (N465 G53 G0 Y-30. X0.)

 

Thanks for any help.

0 Likes
625 Views
2 Replies
Replies (2)
Message 2 of 3

boopathi.sivakumar
Autodesk
Autodesk

@liam 

Modify the post as mentioned below open the post file (.cps) file in any editor

and look for this line if (!machineConfiguration.isHeadConfiguration())

you will get to see something like this

    if (!machineConfiguration.isHeadConfiguration()) {
      writeBlock(
        gAbsIncModal.format(90),
        gMotionModal.format(0), xOutput.format(initialPosition.x), yOutput.format(initialPosition.y)
      );
      writeBlock(
        gMotionModal.format(0),
        gFormat.format(43),
        zOutput.format(initialPosition.z),
        hFormat.format(lengthOffset)
      );
    } else {

Swap the codes like mentioned below in the red

    if (!machineConfiguration.isHeadConfiguration()) {
      writeBlock(
        gMotionModal.format(0),
        gFormat.format(43),
        zOutput.format(initialPosition.z),
        hFormat.format(lengthOffset)
      );
      writeBlock(
        gAbsIncModal.format(90),
        gMotionModal.format(0), xOutput.format(initialPosition.x), yOutput.format(initialPosition.y)
      );
    } else {

And Search for this line // retract to safe plane and you will find code like this

    // retract to safe plane
    writeRetract(Z);

Instead of Z put Y as like below

    // retract to safe plane
    writeRetract(Y);

And Search for this line writeRetract(X, Y);

You get to see code like this

  writeBlock(gRotationModal.format(69));
  writeRetract(X, Y);
  onImpliedCommand(COMMAND_END);

Add the code in red as mentioned below 

  writeBlock(gRotationModal.format(69));
  //writeRetract(X, Y);
  writeBlock(gFormat.format(53),gFormat.format(0),yOutput.format(-30),xOutput.format(0));
  onImpliedCommand(COMMAND_END);

Save the file and try to post the file and test it carefully and let me know the feedback

 


Boopathi Sivakumar
Principal Technology Consultant

0 Likes
Message 3 of 3

liam
Contributor
Contributor

@boopathi.sivakumar 

for the writeRetract(X, Y); section mine does not look like your described text. it is found in two spots in my post and they look like below:

 

// retract
writeRetract(Z);

writeRetract(X, Y);

if (activeG254) {
writeBlock(gFormat.format(255)); // cancel DWO
activeG254 = false;

 

/** Retract to safe position before indexing rotaries. */
function moveToSafeRetractPosition(isRetracted) {
if (properties.useG28) {
if (!isRetracted) {
writeRetract(Z);
}
if (false) {
writeRetract(X, Y);
}
} else {
if (!isRetracted) {
writeRetract(Z);
}
if (false) { // e.g. when machining very big parts
writeRetract(X, Y);
}
}
}

 

 

please advise

 

0 Likes