UltraEdit NC-Programm neu nummerieren
Hallo,
ich habe von collorado ein Script bekommen welches mir ein NV-Programm neu nummeriert.
Das ganze funktioniert eigentlich wunderbar. Jedoch ist jetzt ein Problem aufgetaucht.
Wenn vor einer Zeile (z.B. N420 G00 G507 G60 G90 G601 A=DC(227) D1 F=R40 S=R96 M03 M08 M07 M52 T="5099353") ein Leerzeichen ist, wird diese nach der Neunummerierung gelöscht.
Beispiel (Original):
N340 R20=-227
N350 A_START
N360 M6
N370 A_STOP
N380 SPINDELOK:
N390 R41=120 R42=0
N400 TOOL_CONTROL_D1
N410 R40=5026 R96=837 ;Bearbeitung
N420 G00 G507 G60 G90 G601 A=DC(227) D1 F=R40 S=R96 M03 M08 M07 M52 T="5099353"
; NC_JOB: 40001 FLAECHE E-FLANSCH
N430 R2=162.788 R3=160.788 R10=162.788 R11=510
N440 G00 G60 X285.8 Y264.112
Nach der Neunummerierung:
N340 R20=-227
N350 A_START
N360 M6
N370 A_STOP
N380 SPINDELOK:
N390 R41=120 R42=0
N400 TOOL_CONTROL_D1
N410 R40=5026 R96=837 ;Bearbeitung
; NC_JOB: 40001 FLAECHE E-FLANSCH
N420 R2=162.788 R3=160.788 R10=162.788 R11=510
N430 G00 G60 X285.8 Y264.112
Das Script von colorado:
// Eingabe über Eingabefenster
var counter = UltraEdit.getValue("Startzähler?",1);
var schritt = UltraEdit.getValue("Schrittweite?",1);
UltraEdit.activeDocument.selectAll();
var doc = UltraEdit.activeDocument.selection;
var regex = /^(N\d+ )?([^\r\n]+\s*)/gmi;
while (result = regex.exec(doc)){
if (result[1]){
UltraEdit.activeDocument.write("N" + counter + " " + result[2]);
counter += schritt;
}else{
UltraEdit.activeDocument.write(result);
}
}
Frage:
Wie kann ich das beheben.
Vielen Dank im voraus
ich habe von collorado ein Script bekommen welches mir ein NV-Programm neu nummeriert.
Das ganze funktioniert eigentlich wunderbar. Jedoch ist jetzt ein Problem aufgetaucht.
Wenn vor einer Zeile (z.B. N420 G00 G507 G60 G90 G601 A=DC(227) D1 F=R40 S=R96 M03 M08 M07 M52 T="5099353") ein Leerzeichen ist, wird diese nach der Neunummerierung gelöscht.
Beispiel (Original):
N340 R20=-227
N350 A_START
N360 M6
N370 A_STOP
N380 SPINDELOK:
N390 R41=120 R42=0
N400 TOOL_CONTROL_D1
N410 R40=5026 R96=837 ;Bearbeitung
N420 G00 G507 G60 G90 G601 A=DC(227) D1 F=R40 S=R96 M03 M08 M07 M52 T="5099353"
; NC_JOB: 40001 FLAECHE E-FLANSCH
N430 R2=162.788 R3=160.788 R10=162.788 R11=510
N440 G00 G60 X285.8 Y264.112
Nach der Neunummerierung:
N340 R20=-227
N350 A_START
N360 M6
N370 A_STOP
N380 SPINDELOK:
N390 R41=120 R42=0
N400 TOOL_CONTROL_D1
N410 R40=5026 R96=837 ;Bearbeitung
; NC_JOB: 40001 FLAECHE E-FLANSCH
N420 R2=162.788 R3=160.788 R10=162.788 R11=510
N430 G00 G60 X285.8 Y264.112
Das Script von colorado:
// Eingabe über Eingabefenster
var counter = UltraEdit.getValue("Startzähler?",1);
var schritt = UltraEdit.getValue("Schrittweite?",1);
UltraEdit.activeDocument.selectAll();
var doc = UltraEdit.activeDocument.selection;
var regex = /^(N\d+ )?([^\r\n]+\s*)/gmi;
while (result = regex.exec(doc)){
if (result[1]){
UltraEdit.activeDocument.write("N" + counter + " " + result[2]);
counter += schritt;
}else{
UltraEdit.activeDocument.write(result);
}
}
Frage:
Wie kann ich das beheben.
Vielen Dank im voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 275294
Url: https://administrator.de/contentid/275294
Ausgedruckt am: 24.11.2024 um 08:11 Uhr
9 Kommentare
Neuester Kommentar
Moin,
Da sollte die Abänderung der REGEX Zeile Abhilfe schaffen:
Nun genieße deine Tüte "Colorado" ;-P
Gruß jodel32
ich habe von collorado
hä ? Ein Script von Haribo ? Ich glaub du meinst @colinardo ...Da sollte die Abänderung der REGEX Zeile Abhilfe schaffen:
var regex = /^\s*(N\d+ )?([^\r\n]+\s*)/gmi;
Gruß jodel32
Bitte nutze Code-Tags für deinen Quellcode. So sind keinerlei Zeichen deines Codes unterscheidbar !
und wie soll das richtige Ergebnis aussehen ? Da sind überall Leerzeichen am Anfang ?
Nein, am Anfang sind keine Leerzeichen,
Naja, in deinem ersten gesposteten Text um 12:14 schon ...// Eingabe über Eingabefenster
var counter = UltraEdit.getValue("Startzähler?",1);
var schritt = UltraEdit.getValue("Schrittweite?",1);
UltraEdit.activeDocument.selectAll();
var doc = UltraEdit.activeDocument.selection;
var regex = /^(\s*?N\d+)?([^\r\n]+)/gmi;
while (result = regex.exec(doc)){
if (result[1]){
UltraEdit.activeDocument.write("N" + counter + " " + result[2] + "\r\n");
counter += schritt;
}else{
UltraEdit.activeDocument.write(result + "\r\n");
}
}