Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Post_heidenhain_tnc_407

KonstF
Enthusiast

Post_heidenhain_tnc_407

KonstF
Enthusiast
Enthusiast

Is it possible to edit the post processor to use the spindle position command? In the machine, in manual mode, I execute it with the M19 command. I want to use it to withdraw the tool after the boring operation. The algorithm should be as follows: approaching the tool to a safe height, boring, stopping the tool, positioning the spindle, retracting the cutting edge from the part by 0.2-0.5 mm, lifting the tool to a safe height

0 Likes
Reply
Accepted solutions (3)
836 Views
17 Replies
Replies (17)

brad_francola
Collaborator
Collaborator

Hi.  I'm looking at the tnc_407 post from the Autodesk website.  I think you need to enable one of the boring cycles.  Then, you can copy one of the existing cycles (rename it to match the cycle you just enabled) and configure it to meet your needs.

bradfrancola_0-1660876960069.png

bradfrancola_1-1660877002620.png

 

0 Likes

KonstF
Enthusiast
Enthusiast

That is, you suggest copying any of the drilling cycles, renaming it to the desired one (fine boring), and setting the appropriate parameters. Did I understand correctly? But how then to force the Fusion 360 postprocessor to process it?

0 Likes

KonstF
Enthusiast
Enthusiast

When selecting a fine boring cycle, and trying to compile it into an executable file, a postprocessor processing error is thrown

0 Likes

KonstF
Enthusiast
Enthusiast

Although the program itself looks very simple. But the task is to get such a file by means of the CAM system. Is it possible to fix the postprocessor file so that you can correctly get the NC program? 

The file of the working program is attached in the screenshot.

BORE_corr.png

0 Likes

KonstF
Enthusiast
Enthusiast

Hi.

I think the whole difficulty is to know which argument to pass to the desired postprocessor function. Then everything will compile correctly. How can you find out what arguments the FINE BORING loop outputs from FUSION to the postprocessor?

0 Likes

brad_francola
Collaborator
Collaborator

Hello.  I've attached a sample file and a modified post processor.  Search for "//brf" and you'll see the changes I made.  I'm not exactly sure how you want your CNC code to look.  But, if you study the format on line 932 of the post processor, you should be able to modify the post processor to output your boring format.

bradfrancola_0-1661030294093.png

The post process or manual will be helpful:
https://cam.autodesk.com/posts/posts/guides/Post%20Processor%20Training%20Guide.pdf
look at section 4.28.2 Cycle parameters

bradfrancola_0-1661031201642.pngbradfrancola_1-1661031219155.png

 



1 Like

a.laasW8M6T
Mentor
Mentor
Accepted solution

The older Heidenhain controls do not support a bore-stop-shift cycle, Cycle Def 1 will not do it(newer controls use Cycle Def 202)

 

This will need to be an expanded cycle

see screencast for how i solved this(sort of I don't really know what i'm doing haha)

https://autode.sk/3PyihBr 

 

This doesn't have the second dwell period after the M19 i'm not sure if that's going to be a problem, most machines will inhibit movement until the spindle is oriented.

 

Hope that helps

 

1 Like

KonstF
Enthusiast
Enthusiast
Grandiose! I am very grateful for such valuable information and such a quick feedback!
0 Likes

KonstF
Enthusiast
Enthusiast
Thank you so much for your support and such an elegant design solution! I have tried retracting after positioning at the end of the cycle, without any time delay, but the machine does not wait for positioning to complete and the two operations happen at the same time. This is fraught with collision - tool breakage, damaged part. There may be some machine parameter settings that affect these procedures. (HERMLE UWF 900 E) - I will try to find out from the manufacturers about this. But anyway, your solutions helped me a lot.
0 Likes

KonstF
Enthusiast
Enthusiast
I still don’t quite understand how you set up the postprocessor so that it outputs the right lines in the right place in the executable file, but I hope with your help I will figure it out
0 Likes

KonstF
Enthusiast
Enthusiast

Hello.

I tried to edit the postprocessor myself. I don’t know how correctly I did it, but in the text of the program I have an additional delay block after positioning the spindle.

ADD_DWELL.png

It would be very good to get rid of the additional inclusion of the spindle after the withdrawal from the part (line 25) and remove the X + 0 movement after the tool is withdrawn from the part (line 24). Is it possible to get a retraction along the X axis not at the working feed, but at FMAX? (22 line)

FB_2_M3.png

 Ideally, I would like to get such a result without manual editing:

FB_1_not_M3_FMAX.png

 

0 Likes

a.laasW8M6T
Mentor
Mentor

Ok so when there are unhandled cycles in fusion the Post processor "Expands" them into their individual cycle elements, so for the Case: Fine Boring I told it to expand the cycle.

 

I'm not sure if you get any more Granular control over the expanded cycle output so I'm not sure if you will be able to make the further changes you have requested.

 

There may be another way to approach this but I'll have to spend some time messing around with it.

 

I was going to suggest you add the extra dwell after the M19 but you beat me to it haha

1 Like

KonstF
Enthusiast
Enthusiast
Then, most likely, it is worth making a separate fine-boring function from this block with tool positioning, so that the function with positioning can be used in other operations (for example, tool change). Maybe it is possible to optimize the code, and specify only links to ready-made functions in the fine-boring function?
0 Likes

yd_kwon
Advocate
Advocate
Accepted solution

Test the code below.

 

  case COMMAND_START_SPINDLE:
    if(cycleType != "fine-boring"){
      // except fine-boring cycle case in Start_spinde
      onCommand(tool.clockwise ? COMMAND_SPINDLE_CLOCKWISE : COMMAND_SPINDLE_COUNTERCLOCKWISE);      
    } 
    // origin code
    // onCommand(tool.clockwise ? COMMAND_SPINDLE_CLOCKWISE : COMMAND_SPINDLE_COUNTERCLOCKWISE);
    return;

 

 

Your code can be modified like below.

 

function onOrientateSpindle(angle) {
  writeBlock("CYCL DEF 13.0 ORIENTATION ");
  writeBlock("CYCL DEF 13.1 ANGLE " + angleFormat.format(cycle.compensatedShiftOrientation));
  writeBlock(mFormat.format(19));//Used for oroenting the spindle for fine boring cycle
  onDwell(cycle.dwell);
}

 

 

CAM-Fusion 360/Inventor
CAD-Fusion 360/Inventor
Before PowerMILL
1 Like

KonstF
Enthusiast
Enthusiast

Wonderful! It really took the M3 away after the spindle orientation. How can you comment on why it worked like that? Perhaps I need to start by learning Java script programming?
Modified the spindle orientation section - everything is correctly calculated. Thank you!
Tell me, in the 22nd line, you can also correct the feed to the maximum? And is it possible to get rid of excess movement along the X axis? 24th line

Modifed code.png

0 Likes

yd_kwon
Advocate
Advocate
Accepted solution

The cycle starts at line 13, and the cycle changes from None to fine-boring.
And in the changed M3 code section, the existing operation is performed only when not fine-boring, so M3 in the lower part is not output.
To know the above, try outputting it to a dmp file. Then, you can see the function output order of the existing post file through the text file in *.dmp format.

 

It is true that it is easy to edit the cps file if you learn javascrpt.

 

Line 22 might be possible with a trick, but I don't recommend it.

Line 24 is unfortunately not editable. Now is.

CAM-Fusion 360/Inventor
CAD-Fusion 360/Inventor
Before PowerMILL
1 Like

KonstF
Enthusiast
Enthusiast
Thanks for such a comprehensive answer.
0 Likes