Strona 1 z 1

Edycja postprocesora Fusion

: 28 maja 2020, 00:19
autor: maniek0019
Witam.
Mam problem odnośnie wymiany narzędzia na magazynie na Heidenhain 415, standardowa wymiana wygląda tak :

TOOL CALL 1 Z S1000(wywołanie narzędzia)
L M6(pobranie narzędzia z magazynu)

standardowy post z Fusiona (HH 407) nie posiada w swojej strukturze M6 i program wygląda tak:

TOOL CALL 1 Z S1000(wywołanie narzędzia)
L M3(włączenie obrotów)

Brakuje pobrania narzędzia M6,

Będę wdzięczny za pomoc w znalezieniu odpowiedniego parametru do zmiany

Re: Edycja postprocesora Fusion

: 28 maja 2020, 06:29
autor: maniek0019
Zapomniałem,

podsyłam plik postprocesora którego się tyczy sprawa.

Re: Edycja postprocesora Fusion

: 28 maja 2020, 15:41
autor: capt.d.
Aloha

W linii 677 wpisałbym onCommand(COMMAND_LOAD_TOOL);
W linii 1302 usunąłbym "//".

Jestem ciekaw czy zadziała, proszę o informację.

Pozdrawiam.

Re: Edycja postprocesora Fusion

: 28 maja 2020, 16:50
autor: Steryd
jak nie zadziała , to wpisz

Kod: Zaznacz cały

writeBlock(
      "L " +"M6" 
    );
    
po sekwencji:

Kod: Zaznacz cały

writeBlock(
      "TOOL CALL " + tool.number + SP + getSpindleAxisLetter(machineConfiguration.getSpindleAxis()) + conditional(!isProbeOperation(), " S" + rpmFormat.format(spindleSpeed))
    );
    if (tool.comment) {
      writeComment(tool.comment);
    }

Re: Edycja postprocesora Fusion

: 30 cze 2020, 00:09
autor: maniek0019
capt.d. pisze:
28 maja 2020, 15:41
Aloha

W linii 677 wpisałbym onCommand(COMMAND_LOAD_TOOL);
W linii 1302 usunąłbym "//".

Jestem ciekaw czy zadziała, proszę o informację.

Pozdrawiam.
Przepraszam że dopiero po miesiącu się za to zabrałem, ale trochę miałem na głowie.... mniejsza,


Bardzo dziękuję za odzew !!

Po Twoich zmianach coś takiego :

===
Error: Failed to evaluate post configuration.
Code page changed to '1250 (ANSI - Europa Úšrodkowa)'
Start time: Monday, June 29, 2020 9:50:35 PM

###############################################################################
Error: SyntaxError: missing } after property list
Error at line: 1302
Failed while processing global script.
###############################################################################
====

Dodane 12 minuty 52 sekundy:
Steryd pisze:
28 maja 2020, 16:50
jak nie zadziała , to wpisz

Kod: Zaznacz cały

writeBlock(
      "L " +"M6" 
    );
    
po sekwencji:

Kod: Zaznacz cały

writeBlock(
      "TOOL CALL " + tool.number + SP + getSpindleAxisLetter(machineConfiguration.getSpindleAxis()) + conditional(!isProbeOperation(), " S" + rpmFormat.format(spindleSpeed))
    );
    if (tool.comment) {
      writeComment(tool.comment);
    }

Te zmiany zadziałały :)
Dzięki wielkie chłopaki za zainteresowanie i pomoc,

ale żeby kod NC był doszlifowany pod moją maszynkę potrzebuję jeszcze coś zmienic,
oto kod z Fusiona po modach aktualny :

0 BEGIN PGM 1001 MM
1 BLK FORM 0.1 Z X+0 Y-53.337 Z-21
2 BLK FORM 0.2 X+89.141 Y+0 Z+0
3 ; -------------------------------------
4 ; Tools
5 ; #1 D=50 - ZMIN=-1 - ZMAX=+15 - face mill
6 ; -------------------------------------
7 ;
8 L Z+0 R0 FMAX M91
9 M5
10 TOOL CALL 1 Z S955
11 L M6
12 M3
13 L X+121.641 Y-51.043 R0 FMAX
14 L Z+15 R0 FMAX
15 M8
16 L Z+5 FMAX
17 L Z+4 F460
18 CC X+116.641 Z+4
19 C X+116.641 Z-1 DR+
...
26 C X+94.141 Z+4 DR-
27 L Z+15 FMAX
28 M9
29 M5
30 L Z+0 R0 FMAX M91
31 M30
32 END PGM 1001 MM

Nie potrzebuję wogóle lini nr 8; 9; 28 ; 29; a w miejsce lini 30 wolałbym Z+50 FMAX M5

Bardzo proszę o pomoc, będę zobowiązany :)

Re: Edycja postprocesora Fusion

: 30 cze 2020, 12:26
autor: Steryd
Co do linijek 8 i 9 to znajdź taką sekwencję:

Kod: Zaznacz cały

  if (insertToolCall || newWorkOffset || newWorkPlane) {

    // retract to safe plane
    writeRetract(Z);
  }
  
  if (hasParameter("operation-comment")) {
    var comment = getParameter("operation-comment");
    if (comment) {
      writeStructureComment(comment);
    }
  }

  if (properties.showNotes && hasParameter("notes")) {
    var notes = getParameter("notes");
    if (notes) {
      var lines = String(notes).split("\n");
      var r1 = new RegExp("^[\\s]+", "g");
      var r2 = new RegExp("[\\s]+$", "g");
      for (line in lines) {
        var comment = lines[line].replace(r1, "").replace(r2, "");
        if (comment) {
          writeComment(comment);
        }
      }
    }
  }
  
  if (insertToolCall) {
    forceWorkPlane();
  
    onCommand(COMMAND_STOP_SPINDLE);

i wstaw podwójny ukośnik (//) przed writeRetract(Z) i przed onCommand(COMMAND_STOP_SPINDLE)

Tylko, czy na pewno chcesz usunąć odjazd przed wymianą narzędzia?

Reszta jest na końcu.
po tekście

Kod: Zaznacz cały

function onClose() {
wstawiasz // przed:
setCoolant(COOLANT_OFF)
onCommand(COMMAND_STOP_SPINDLE);
writeRetract(Z);

pod tym ostatnim dopisujesz

Kod: Zaznacz cały

writeBlock("L " + "Z+50 " + " R0 FMAX " + "M5");
albo

Kod: Zaznacz cały

writeBlock("L " + "IZ+50 " + " R0 FMAX " + "M5"); 
wtedy zawsze pojedzie do góry o 50 niezależnie gdzie będzie.

Re: Edycja postprocesora Fusion

: 10 lip 2020, 23:00
autor: maniek0019
Super, wszystko działa jak należy,


Niski ukłon w stronę SteryD :)

Re: Edycja postprocesora Fusion

: 29 maja 2025, 10:35
autor: abeljames
maniek0019 pisze:
28 maja 2020, 00:19
Witam.
Mam problem odnośnie wymiany narzędzia na magazynie na Heidenhain 415, standardowa wymiana wygląda tak :
TOOL CALL 1 Z S1000(wywołanie narzędzia) Football Bros
L M6(pobranie narzędzia z magazynu)
standardowy post z Fusiona (HH 407) nie posiada w swojej strukturze M6 i program wygląda tak:
TOOL CALL 1 Z S1000(wywołanie narzędzia)
L M3(włączenie obrotów)
Brakuje pobrania narzędzia M6,
Będę wdzięczny za pomoc w znalezieniu odpowiedniego parametru do zmiany
Po wygenerowaniu kodu, dodaj ręcznie linię L M6 po każdej komendzie TOOL CALL:
plaintext
TOOL CALL 1 Z S1000
L M6
L M3
Ale to uciążliwe, więc modyfikacja postprocesora to najlepsza droga.

Re: Edycja postprocesora Fusion

: 20 paź 2025, 05:07
autor: funiki
maniek0019 pisze:
28 maja 2020, 00:19
Witam.
Mam problem odnośnie wymiany narzędzia na magazynie na Heidenhain 415, standardowa wymiana wygląda tak :
bloodmoney
TOOL CALL 1 Z S1000(wywołanie narzędzia)
L M6(pobranie narzędzia z magazynu)

standardowy post z Fusiona (HH 407) nie posiada w swojej strukturze M6 i program wygląda tak:

TOOL CALL 1 Z S1000(wywołanie narzędzia)
L M3(włączenie obrotów)

Brakuje pobrania narzędzia M6,

Będę wdzięczny za pomoc w znalezieniu odpowiedniego parametru do zmiany
Aby dodać polecenie pobrania narzędzia M6 do standardowego programu z Fusiona (HH 407), musisz zaktualizować parametry narzędzia w swoim programie, aby uwzględnić instrukcję M6. Sprawdź, czy w ustawieniach postprocesora Fusion 360 istnieje możliwość dodania dodatkowych poleceń do sekcji wymiany narzędzi. Możesz to zrobić, edytując postprocesor lub dodając odpowiednią sekcję w kodzie, aby wprowadzić M6 po TOOL CALL.

Re: Edycja postprocesora Fusion

: 09 mar 2026, 03:05
autor: willsmith455
maniek0019 pisze:
10 lip 2020, 23:00
Super, wszystko działa jak należy,

space waves
Niski ukłon w stronę SteryD :)
Interesting discussion. Editing the Fusion 360 postprocessor can definitely solve many machine-specific issues, especially when commands like M6 tool change are missing in the generated NC code. I’ve run into similar situations where small edits in the post file made the program much more compatible with a specific controller. It’s great to see practical solutions like inserting the command after TOOL CALL or adjusting the retract and spindle stop behavior. Threads like this are really helpful for anyone trying to customize their Fusion CAM output for different CNC machines.