Verfahrwege in einem GCode modifizieren
#31
Hallöchen,

Also dann könntest Du vom Absolutwert den Betrag verrechnen und dann bei negativen Werten Das Vorzeichen setzen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#32
genau das habe ich gemeint. Ich habe auch schon mal vorhin mit ABS() experimentiert, aber es funktioniert nicht. Ich habe auch Mühe, die betreffenden Formeln zu verstehen und dann ist es natürlich schwierig bis unmöglich, sie abzuändern.
Antworten Top
#33
Hallöchen,

dann so. Schaue aber, ob das auch bei negativem Z Deinen Vorstellungen entspricht.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFGHIJKLMN
1Korrkturwerte:X-3
2Y2
3Z-5
4G01 X-502 Z502 F100 M1000G01X-502Z502F100M1000G01X-499Z497F100M1000G01 X-499 Z497 F100 M1000

ZelleFormel
B4=TEXTTEILEN(A4;" ")
H4=B4
I4=WENNFEHLER(LINKS(C4;1)&WENN(TEIL(C4;2;1)="-";"-";"")&(ABS(--(RECHTS(C4;LÄNGE(C4)-1)))+WENNFEHLER(SVERWEIS(LINKS(C4;1);$B$1:$C$3;2;FALSCH);0));"")
J4=WENNFEHLER(LINKS(D4;1)&WENN(TEIL(D4;2;1)="-";"-";"")&(ABS(--(RECHTS(D4;LÄNGE(D4)-1)))+WENNFEHLER(SVERWEIS(LINKS(D4;1);$B$1:$C$3;2;FALSCH);0));"")
K4=WENNFEHLER(LINKS(E4;1)&WENN(TEIL(E4;2;1)="-";"-";"")&(ABS(--(RECHTS(E4;LÄNGE(E4)-1)))+WENNFEHLER(SVERWEIS(LINKS(E4;1);$B$1:$C$3;2;FALSCH);0));"")
L4=WENNFEHLER(LINKS(F4;1)&WENN(TEIL(F4;2;1)="-";"-";"")&(ABS(--(RECHTS(F4;LÄNGE(F4)-1)))+WENNFEHLER(SVERWEIS(LINKS(F4;1);$B$1:$C$3;2;FALSCH);0));"")
M4=WENNFEHLER(LINKS(G4;1)&(N(RECHTS(G4;LÄNGE(G4)-1)+WENNFEHLER(SVERWEIS(LINKS(G4;1);$B$1:$C$3;2;FALSCH);0)));"")
N4=TEXTVERKETTEN(" ";WAHR;H4:M4)
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.2) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#34
Hallo,

das scheint zu klappen!

Vielen Dank!

Ich hatte mich inzwischen selbst daran gemacht, aber auf eine viel kompliziertere Art, und ich bin mir nicht sicher, ob ich ein Resultat erzielt hätte.

Ich teste nachher mal an der Fräse.

MfG
Alooha
Antworten Top
#35
Hi,

ich will ja nicht pessimistisch wirken. Aber ich sehe hier noch eine Menge Probleme.

1. Problem:
Nicht in jedem Programm sind Leerzeichen zwischen den Befehlen.
Code:
G01X10Y-11Z5F200
ist genauso gültig wie
Code:
G01 X10 Y-11 Z5 F200
Hier versagt bereits das Textteilen().

2. Problem:
Nicht immer ist ein einzelner G-Block am Satzanfang. Dies ist ein ganz normales Programm.
Code:
G90 G01 X10 Y-11 Z-10 F1000 M30 S500 T10
Y10
G00 Z0
Hier würde mit den Formeln die erste Zeile zu einem #Überlauf!-Fehler führen. Und selbst wenn man genug Platz für Textteilen() lässt (aber wie viel Platz mus man lassen?), würde hier aus G01 ein G1 werden (OK, das kann man verschmerzen).
Die zweite Zeile würde keine Korrektur erfahren, da der erste Term ja nicht bearbeitet wird.

3.Problem:
Was soll bei Kreisen passieren? Folgendes Programm fährt einen Vollkreis
Code:
G01 X10 Y0
G02 X10 Y10 I-10 J0
Hier müsste man auch I und J entsprechend anpassen.

4. Problem:
Was soll aus
Code:
G1 X5 Y5
X0 Y1
Y-2
werden, wenn um -3 korrigiert werden soll?

Gibt bestimmt noch viele weitere Probleme.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#36
Schau mal Spalte P


Angehängte Dateien
.xlsb   __GCode_snb_001.xlsb (Größe: 67,02 KB / Downloads: 2)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#37
Hallo,
ich habe es an der Fräse getestet.
Vor der Korrektur wurde immer ein Teil des 5mm Randes der inneren Kuppel weg gefräst beim Schlichten, jetzt bleibt er unangetastet.
Nochmal vielen Dank!
MfG
Alooha


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#38
Hallo,

seitdem habe ich dieses Excelblatt nicht mehr gebraucht, bis heute.
Mir ist aufgefallen, dass bei der Z-Achse die positiven Werte (also über dem Werkstück gelegen), die Ebene von der der Fräsvorgang startet, nicht korrekt korrigiert werden.

Gewöhnlich beginnt die Fräse bei +0.5mm und taucht dann in das Werkstück ein.
In meinem aktuellen Code muß ich an einer bestimmten Stelle im GCode den Nullpunkt der Z-Achse um 3mm nach unten verschieben (eine Möglichkeit wäre, den Code an dieser Stelle in 2 Codes zu spalten, den ersten auszuführen, dann die Z-Achse an der Fräse neu zu nullen auf dem Originalnullpunkt - 3mm, und dann den zweiten Code auszuführen, aber eine reine Lösung im Code wäre vorzuziehen), nicht nur die -Werte (=Eintauchtiefe in das Material) sondern auch die +Z-Werte, der Starthöhe über dem Material entsprechend, die momentan nach oben korrigiert werden anstatt nach unten (aus Z0.5 wird Z3.5 anstatt Z-2.5 und aus der Sicherheitshöhe von Z3.0 wird Z6.0 anstatt Z0); sie soll demnach nicht auf 0.5mm beginnen sondern auf 0.5-3=-2.5.

Der Wert, um den die Z-Achse korrigiert werden soll (bei X und Y ist das anders) soll also in jedem Fall vom Z-Wert abgezogen werden, um die Achse um den entsprechenden Wert nach unten zu verlagern.

Ich weiß nicht, ob es möglich ist, diese zusätzliche Anforderung auch noch in die Formeln zu integrieren.

MfG
Alooha
Antworten Top
#39
Hallöchen,

dann müsstest Du ggf. noch eine Fallunterscheidung rein bringen, falls Du bei meiner Lösung bist.

Also z.B. in I4
=WENN(LINKS(C4;1)<>"Z";bisherige Formel;RECHTS(C4;LÄNGE(C4)-1)+$C$3)

oder so ungefähr, ungetestet. Falls die Richtung der Korrektur anders sein soll, dann ...-$C$3)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#40
Hallo,
ja es ist Deine Lösung die ich umgesetzt hatte.
Ich habe diesen Zusatz in die Formel integriert; der Wert wird angepasst, aber das Z geht dabei verloren (siehe screenshot).
MfG
Alooha

   
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste