mam do zrobienia gwintowanie w dwóch otworach, w zakładce CAM zaznaczam 2 punkty, po wygenerowaniu programu mam takie instrukcje:
N1 M9
N2 G0 Z150 T3
N3 S+100
N4 M9
N5 G0 X-10 Y0
N6 Z149 D+03
N7 G17
N8 G0 Z4
N9 N*1
N10 N*2 X10
N11 Z149
N13 M9
N14 Z150 D+03
N15 M30
N*1 G84 150 S+100 Z-30 Z0
Jak widać - problem w 1 linijce czyli brakuje G17 i problem w N10 - odniósł się do podprogramu którego nie ma a powinno być N*1 czyli cykl gwintowania, w samym podprogramie powinno być G84 F150 S... czyli zgubił literkę. Takie rzeczy to błędy postprocessora ?
Problem z G17 na początku - rozwiązanie problemu:
wchodzimy w config postprocessora i odnajdujemy wpis:
function onSection() {
var insertToolCall = isFirstSection() ||
currentSection.getForceToolChange && currentSection.getForceToolChange() ||
(tool.number != getPreviousSection().getTool().number);
następnie dodajemy jedną linijkę i całość wygląda tak:
function onSection() {
var insertToolCall = isFirstSection() ||
currentSection.getForceToolChange && currentSection.getForceToolChange() ||
(tool.number != getPreviousSection().getTool().number);
writeBlock(gPlaneModal.format(17)); // tu wpisz komentarz
od tej pory w wygenerowanym programie N1 G17 a N2 M9 - czemu tak, nie wiem ale działa

następny błąd czyli nieprawidłowe naliczanie cykli jest w linijkach:
if (cycleExpanded) {
expandCyclePoint(x, y, z);
} else {
writeBlock(uFormat.format(nextCycleCall), gMotionModal.format(0), xOutput.format(x), yOutput.format(y));
nextCycleCall += 1; // tutaj
ustawienie nextCycleCall na 0 zamiast 1, sprawia że wszystkie w n* w programie będą 1, brakuje tutaj jakieś funkcji if lub podobnej do sprawdzania czy cykl się zmienił czy jest ten sam co użyty wcześniej.