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: 

Okuma Milling- Post Processor

7 REPLIES 7
SOLVED
Reply
Message 1 of 8
thien117
534 Views, 7 Replies

Okuma Milling- Post Processor

output the program according to the thread pitch on the okuma machine .please help me edit

1.png

 

2.png

 

3.png4.png

7 REPLIES 7
Message 2 of 8
serge.quiblier
in reply to: thien117

Hello @thien117 

 

you will have to edit your post.

Then add a new property, in two locations.

First modification:

// user-defined properties
properties = {
  writeMachine: true, // write machine
....... Some lines hidden to reduce the code snippet
  useG16: false, // use G16 for machine retracts in H0
  useFixtureOffsetFunction: false ,// specifies to use CALL OO88 for 3+2 machining
  usePitchForTapping: false  // ADSK addition for Tapping with pitch
};

 

You need to add a comma on the line useFixtureOffsetFunction, after the false value, before the comment.

Then add the following line defining a new property for the post.

 

 

Second modification:

// user-defined property definitions
propertyDefinitions = {
  writeMachine: {title:"Write machine", description:"Output the machine settings in the header of the code.", group:0, type:"boolean"},

....... Shortening the code

  useFixtureOffsetFunction: {title:"Use fixture offset function", description:"Specifies to use CALL OO88 for 3+2 machining.", type:"boolean"},
  usePitchForTapping: {title: "Use pitch for tapping", description: "Enables the use of pitch instead of feed for the F-word in canned tapping cycles. Your CNC control must be setup for pitch mode!", type:"boolean"}
};

 

Same as previously, we must add a comma at the end of the line containing useFixtureOffsetFunction.

Then add the property definition for usePitchForTapping.

 

 

Upgrading the tapping output, in the onCyclePoint function:

    case "tapping":
      if (!F) {
        F = tool.getTappingFeedrate();
      }
      if (g71) {
        writeBlock(g71);
      }
      writeBlock(
        conditional(properties.usePitchForTapping, gFeedModeModal.format(95)),  // ADSK change for pitch
        gPlaneModal.format(17), gAbsIncModal.format(90), gCycleModal.format((tool.type == TOOL_TAP_LEFT_HAND) ? 74 : (useG284 ? 284 : 84)),
        getCommonCycle(x, y, z, cycle.retract),
        (properties.usePitchForTapping ? feedOutput.format(tool.threadPitch): feedOutput.format(F)),  // ADSK change for pitch
        mFormat.format(53)
      );
      break;

 

Two fixes, on a the start of the line to output G95 when needed.

The other change when we output the feedrate, using either the pitch or the regular feed rate.

This change must also be added on the  following cases:

case "left-tapping":
case "right-tapping":
case "tapping-with-chip-breaking":
case "left-tapping-with-chip-breaking":
case "right-tapping-with-chip-breaking":

 

Applying the same logic in these other cycles.

 

Regards.


______________________________________________________________

If my post answers your question, please click the "Accept Solution" button. This helps everyone find answers more quickly!



Serge.Q
Technical Consultant
cam.autodesk.com
Message 3 of 8
thien117
in reply to: thien117

thank you pro

Message 4 of 8
thien117
in reply to: serge.quiblier

  • please edit post process pitch without . when pitch is even step. 
  • I look forward to receiving everyone's help soon. thank you very much
  •  
  • 3.pngplease help me fix the error pitch is not accented .1.png

 

2.png

Message 5 of 8
serge.quiblier
in reply to: thien117

Hi @thien117 

 

I have a proposal for improving, but it will impact all the feedrate.
It will add the decimal separator on all feeds.
If it's acceptable, in the post, search for the variable outputting the feedrate.


Looking at the tapping cycle, it's feedOutput:

 

        writeBlock(
          conditional(properties.usePitchForTapping, gFeedModeModal.format(95)),  // ADSK change for pitch
          gPlaneModal.format(17), gAbsIncModal.format(90), gCycleModal.format((tool.type == TOOL_TAP_LEFT_HAND) ? 74 : (useG284 ? 284 : 84)),
          getCommonCycle(x, y, z, cycle.retract),
          (properties.usePitchForTapping ? feedOutput.format(tool.threadPitch) : feedOutput.format(F)),  // ADSK change for pitch
          mFormat.format(53)
        );

 

If we search at the top of the post, we can find this declaration:

var feedOutput = createVariable({prefix:"F"}, feedFormat);

 

This means that the variable is using the feedOutput format.

var feedFormat = createFormat({decimals:(unit == MM ? 2 : 3)});

 

We need to inform the format, that the decimal separator is needed:

var feedFormat = createFormat({decimals:(unit == MM ? 2 : 3), forceDecimal:true});

 

 

Regards


______________________________________________________________

If my post answers your question, please click the "Accept Solution" button. This helps everyone find answers more quickly!



Serge.Q
Technical Consultant
cam.autodesk.com
Message 6 of 8
thien117
in reply to: serge.quiblier

please help me in more detail , i tried but failed

Message 7 of 8
serge.quiblier
in reply to: thien117

Edit the post, and change this code :

var feedFormat = createFormat({decimals:(unit == MM ? 2 : 3)});

 

by that one

var feedFormat = createFormat({decimals:(unit == MM ? 2 : 3), forceDecimal:true});


Serge.Q
Technical Consultant
cam.autodesk.com
Message 8 of 8
thien117
in reply to: thien117

thank you very much

 

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

Post to forums  

Autodesk Design & Make Report