Community
Fusion Manufacture
Talk shop with the Fusion (formerly Fusion 360) Manufacture Community. Share tool strategies, tips, get advice and solve problems together with the best minds in the industry.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Post Processor Help Needed: Laguna IQ Pro ATC RichAuto B58E

2 REPLIES 2
SOLVED
Reply
Message 1 of 3
Anonymous
723 Views, 2 Replies

Post Processor Help Needed: Laguna IQ Pro ATC RichAuto B58E

Hi,

 

I'm running a Laguna IQ Pro w/ an Automatic Tool Changer and 4th axis attachment. The controllor is a RichAuto B58E. I'd like to switch over to Fusion 360 from Aspire, but I've been having issues with post processing my CAM files using the Laguna post processor found in the Fusion 360 Post Library (hsmposts).

 

I've attached a copy of the post processor I use with Aspire as well as a sample of the gcode that it produced. This post processor works well with my machine and I'd like to translate this over to a Fusion 360 friendly format. Is anyone able to help with this? Is it possible to modify the existing Laguna post to produce the same output?

 

Thanks,

Jeff

Labels (1)
2 REPLIES 2
Message 2 of 3
bob.schultz
in reply to: Anonymous

Hello Jeff,

 

You can make changes to the post to match your output.  I would start with the Richauto post processor, as this is a bit simpler than the Laguna post processor.  Here are the changes you should make to match your output.

 

Modify the following line at the top of the post to set the file extension.

extension = "mmg"; // *.cnc/*.nc/*.tap/.u00/*.plt/*.mmg/*.txt

 

You can default the sequence numbers to match the Aspire post by modifying the properties.

// user-defined properties
properties = {
  writeMachine: true, // write machine
  writeTools: true, // writes the tools
  useG28: "clearanceHeight", // specifies the desired safe retract option
  showSequenceNumbers: true, // show sequence numbers
  sequenceNumberStart: 0, // first sequence number
  sequenceNumberIncrement: 10, // increment for sequence numbers
  separateWordsWithSpace: true // specifies that the words should be separated with a white space
};

 

To remove the % at the top of the file comment out the following line in onOpen.

  // writeln("%");

 

In the onOpen function you can remove the initialization blocks and set the output units to MM.

  // absolute coordinates and feed per min
  // writeBlock(gAbsIncModal.format(90), gFeedModeModal.format(94));
  // writeBlock(gPlaneModal.format(17));

  unit = MM;
  switch (unit) {
  case IN:
    // writeBlock(gUnitModal.format(20));
    break;
  case MM:
    // writeBlock(gUnitModal.format(21));
    break;
  }

 

Make the following change to output the spindle speed after the M03 block.

 

was: 

  writeBlock(
    sOutput.format(spindleSpeed), mFormat.format(tool.clockwise ? 3 : 4)
  );

change to:

  writeBlock(
    mFormat.format(tool.clockwise ? 3 : 4), sOutput.format(spindleSpeed)
  );

 

You will need to comment ALL instances of the G17 and G90 output.

// writeBlock(gPlaneModal.format(17));

// gAbsIncModal.format(90),

 

In the onCircular function add the following code and change the writeBlock line to output a radius instead of circle center.

 

was:

  } else {
  switch (getCircularPlane()) {
  case PLANE_XY:
    writeBlock(gPlaneModal.format(17), gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), Output.format(y),  zOutput.format(z), iOutput.format(cx - start.x, 0), jOutput.format(cy - start.y, 0), feedOutput.format(feed));
    break;

 

change to:

  } else {
  var r = getCircularRadius();
  if (toDeg(getCircularSweep()) > (180 + 1e-9)) {
    r = -r; // allow up to <360 deg arcs
  }
  switch (getCircularPlane()) {
  case PLANE_XY:
    writeBlock(gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), "R" + xyzFormat.format(r), feedOutput.format(feed));
  break;

 

To remove the coolant codes add the return line to the setCoolant function.

function setCoolant(coolant) {
  return;

 

And finally in the onClose function make the following change to output the M05 code at the end of the program.

  onImpliedCommand(COMMAND_END);
  onCommand(COMMAND_STOP_SPINDLE);

 

It's possible that not all of these changes are required, but it does make it match your output.



Bob Schultz
Sr. Post Processor Developer

Message 3 of 3
Anonymous
in reply to: bob.schultz

@bob.schultz This is very helpful. Thank you, much appreciated!

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report