FIDIA post

FIDIA post

reisaXWBA5
Participant Participant
2,023 Views
15 Replies
Message 1 of 16

FIDIA post

reisaXWBA5
Participant
Participant

I want the center points of G02 /G03  in absolute (change I J K I value on G02 and G03 so it count from working zero).

The FIDIA control didnt work on incremental center points.

Please I need help.

I cant use the milling machine with Fusion 360.

0 Likes
Accepted solutions (2)
2,024 Views
15 Replies
Replies (15)
Message 2 of 16

andrea.amilo
Community Manager
Community Manager

Hi @reisaXWBA5 ,

 

to configure circular interpolation to write IJK in absolute, I think you could modify few lines in onCircular function.

You need to modify  iOutput.format, jOutput.format and kOutput.format definition.

From :

 

               iOutput.format(cx - start.x, 0)     jOutput.format(cy - start.y, 0)     kOutput.format(cz - start.z, 0)

To:

              iOutput.format(cx, 0)                     jOutput.format(cy, 0)                     kOutput.format(cz, 0)

 

These are edited lines starting from line 895 :

 

    switch (getCircularPlane()) {
    case PLANE_XY:
      writeBlock(gAbsIncModal.format(90), gPlaneModal.format(17), gMotionModal.format(clockwise ? 2 : 3), iOutput.format(cx, 0), jOutput.format(cy, 0), feedOutput.format(feed));
      break;
    case PLANE_ZX:
      writeBlock(gAbsIncModal.format(90), gPlaneModal.format(18), gMotionModal.format(clockwise ? 2 : 3), iOutput.format(cx, 0), kOutput.format(cz, 0), feedOutput.format(feed));
      break;
    case PLANE_YZ:
      writeBlock(gAbsIncModal.format(90), gPlaneModal.format(19), gMotionModal.format(clockwise ? 2 : 3), jOutput.format(cy, 0), kOutput.format(cz, 0), feedOutput.format(feed));
      break;
    default:
      linearize(tolerance);
    }
  } else {
    switch (getCircularPlane()) {
    case PLANE_XY:
      writeBlock(gAbsIncModal.format(90), gPlaneModal.format(17), gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), iOutput.format(cx, 0), jOutput.format(cy, 0), feedOutput.format(feed));
      break;
    case PLANE_ZX:
      writeBlock(gAbsIncModal.format(90), gPlaneModal.format(18), gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), iOutput.format(cx, 0), kOutput.format(cz, 0), feedOutput.format(feed));
      break;
    case PLANE_YZ:
      writeBlock(gAbsIncModal.format(90), gPlaneModal.format(19), gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), jOutput.format(cy, 0), kOutput.format(cz, 0), feedOutput.format(feed));
      break;
    default:
      linearize(tolerance);
    }
  }

 

Please test it carefully and let me know.

 



Andrea Amilo

Senior Technical Consultant

Autodesk Knowledge Network | Fusion 360 Webinars | Autodesk Make
0 Likes
Message 3 of 16

reisaXWBA5
Participant
Participant

Hi andrea.amilo.

Thank u so much for the rapid answer.

I try for the first time in the FIDIA Isograph to simulate the passes and toolpath, and some of the trajectory did  it well but  other ones very bad.

It is impossible to machining like this.

On the first image in fusion 360 you can see the generated passes...

On the other two images you can see what the machine do.

Thank you soo much

Fusion 360 toolpath.jpg

machining toolpath fail 2 .jpg

machining toolpath fail 3 .jpg

   

 

0 Likes
Message 4 of 16

andrea.amilo
Community Manager
Community Manager

Hi @reisaXWBA5 ,

 

I think we can start defining circular interpolation only on G17XY plane, linearising other planes and helicals.

To do this I think you could modify lines 34 and 35 as shown here :

 

allowHelicalMoves = false;
allowedCircularPlanes = 1; // allow circular motion only XY plane

 

Please test it carefully and let me know.

 



Andrea Amilo

Senior Technical Consultant

Autodesk Knowledge Network | Fusion 360 Webinars | Autodesk Make
0 Likes
Message 5 of 16

reisaXWBA5
Participant
Participant

Same wrong toolpath with that piece.

Yesterday with your first answer I try with other piece and works.

How can it be possible?

The Fusion 360 generated toolpath is the same that the simulation on FIDIA.  🙂

But trying with other pieces didnt work.

 

FIDIA toolpath.jpg

fusion 360 toolpath.png

 

0 Likes
Message 6 of 16

andrea.amilo
Community Manager
Community Manager

Hi @reisaXWBA5 ,

 

I don't know what could be the difference between your toolpaths.

In my opinion the better thing to do is to simplify circular interpolation syntax as described in message #4.

You can configure arcs only on G17XY plane, linearising other planes and helical moves.

Have you tried to do this ?

 



Andrea Amilo

Senior Technical Consultant

Autodesk Knowledge Network | Fusion 360 Webinars | Autodesk Make
0 Likes
Message 7 of 16

reisaXWBA5
Participant
Participant

Then, you say only to aply the changes of message 4# or...... the  2# + 4#.

I have tried to aply both of them and the same as the last try.  😞

 

 

 

0 Likes
Message 8 of 16

andrea.amilo
Community Manager
Community Manager

Hi @reisaXWBA5 ,

 

I think circular moves syntax is correct for Fidia controller if you've applied both #2 and #4 modification.

Could you please attach here a Fusion 360 project containing just one toolpath ( bad simulated in Fidia ) and your edited postprocessor ?

Thank you.

 



Andrea Amilo

Senior Technical Consultant

Autodesk Knowledge Network | Fusion 360 Webinars | Autodesk Make
0 Likes
Message 9 of 16

reisaXWBA5
Participant
Participant

Hi.

Im sorry for the delay.

Here you have  the Fusion360 proyect with one toolpath and  my edited post

0 Likes
Message 10 of 16

andrea.amilo
Community Manager
Community Manager
Accepted solution

HI @reisaXWBA5 ,

 

I think there are few other issues to be fixed about circular interpolation.

I think we need to write out G02/G03 and I/J as not modal, so repeated on each circular movement.

To do this, you can add 'force:true' option in circular output format ( starting from line 110 ) :

 

// circular output
var iOutput = createReferenceVariable({prefix:"I", force:true}, xyzFormat);
var jOutput = createReferenceVariable({prefix:"J", force:true}, xyzFormat);
var kOutput = createReferenceVariable({prefix:"K", force:true}, xyzFormat);

 

and define gMotion to be always written, adding  gMotionModal.reset();  at line 890  :

 

  var start = getCurrentPosition();

  gMotionModal.reset();

  if (isFullCircle()) {

 

I think these modification will fix everything related to circular interpolation.

 

At the end I think you could make another small modification to remove G28 function because I think it is not a proper Fidia function.

To do this you can simply comment writeRetract call function in each occurrence (4) :

 

// writeRetract(Z);

 

and

 

//writeRetract(X, Y);

 

at line 315, 408, 1135 and 1139.

 

As usual, please test it carefully and let me know.

 



Andrea Amilo

Senior Technical Consultant

Autodesk Knowledge Network | Fusion 360 Webinars | Autodesk Make
0 Likes
Message 11 of 16

reisaXWBA5
Participant
Participant

Hi andrea.amilo.

The Fidia Isographs reads the program and does the simulation well.

Im going to try some finishing toolpaths in the machine  next week.

Im going to test it carefully but seems that every toolpaths are ok.

No collisions, no wrong toolpaths and strange movements....

 

Thank you so much.

 

0 Likes
Message 12 of 16

andrea.amilo
Community Manager
Community Manager
Accepted solution

Hi @reisaXWBA5 ,

 

have you tested your Fidia postprocessor on machine ? Is it working properly ?

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

 

Thanks.



Andrea Amilo

Senior Technical Consultant

Autodesk Knowledge Network | Fusion 360 Webinars | Autodesk Make
0 Likes
Message 13 of 16

reisaXWBA5
Participant
Participant

It works!!!!

Thank you so much.

0 Likes
Message 14 of 16

Hunter_068
Participant
Participant


 

 

N189 G00 Z107.108
N190 X-192.185 Y124.317
N191 Z55.916
N192 G01 Z55.333 F333​

 

 

Hi @andrea.amilo . I tried this post processor, but there is a problem G00 and G01 are in the first lines, but the working logic is not like this. It works like this under normal conditions, but there is a situation like this: In the above code, G00 is used only N189, so the program moves up fast and N190 N191 behaves like G01 in these two lines.

 


 

0 Likes
Message 15 of 16

andrea.amilo
Community Manager
Community Manager

Hi @Hunter_068 ,

 

it seems your Fidia controller needs G0 function on each rapid command line.

To do that, you just need to reset gModal definition after every rapid move.

I am showing you the modification applied to the latest version of postprocessor available in the library.
I do not know if the position (=line number) will be the same as your postprocessor:

 

2023-07-14_12-33-16.png

 

 

As shown, you need to add the command  gMotionModal.reset();  on line 1446.

If the line number doesn't match, it is important that you enter the command in the same position as the onRapid function (see arrow).

Please test it carefully and let me know.

Thanks.

 



Andrea Amilo

Senior Technical Consultant

Autodesk Knowledge Network | Fusion 360 Webinars | Autodesk Make
Message 16 of 16

Hunter_068
Participant
Participant
Sorry for the late reply... Thank you very much for this information, I wish you a good work.
0 Likes