Makro zum Gewindefräsen - Printable Version +- Beamicon2 Support Forum (https://beamicon2basic.com/forum) +-- Forum: Deutschsprachiges Forum für die Beamicon2 (https://beamicon2basic.com/forum/forum-1.html) +--- Forum: offenes Forum (https://beamicon2basic.com/forum/forum-10.html) +--- Thread: Makro zum Gewindefräsen (/thread-39.html) |
Makro zum Gewindefräsen - Admin - 04-02-2021 Einige haben schon nachgefragt. Ich habe mal ein Makro für G84 geschrieben. Unterstützt werden Gewindewirbler (nur 1 Gang) und mehrgängige Gewindefräser. Mit einem Gewindewirbler kann man halt alle möglichen Gewinde Fräsen, mit einem mehrgängigen halt nur Gewinde mit der Steigung des Fräsers. Dafür sind mehrgängige Fräser viel schneller, weil u.U. nur eine Umdrehung gefräst wird. Unterstützt wird Innengewinde/Außengewinde, Linksgewinde und Rechtsgewinde. Als Werkzeug muss ein Gewindewerkzeug ausgewählt werden, und es müssen zu dem Werkzeug noch ein paar Zusatzdaten eingegeben werden. D1 = virtueller Spitzendurchmesser minus H1 (Höhendreieck), dieser Durchmesser wird vom Hersteller meist angegeben (Bei M3 z.B. 2.3 oder 2.35mm) L1 = die vermessene Länge (Wenn mit G43 gearbeitet wird) D2 = Steigung des Fräsers (Gewindewirbler = 0, Mehrgangfräser Steigung, z.B. M3 = 0.5) L2 = Anzahl der Gänge (Gewindewirbler = 1, Mehrgangfräser 2- xx) Durch diese Daten erkennt das Makro welcher Fräser benutzt wird und stellt alles automatisch ein. G84 Parameters (i.e. for M3): Z = untere Tiefe des Gewindes R = Rückzugsebene Q = Oberkante Gewinde J = nominaler Durchmesser (3mm=M3) K = Steigung (0,5mm) H = 0 = Innengewinde 1= Außengewinde F = Vorschub I = 0 = Rechtsgewinde 1=Linksgewinde Aufruf von G84: G84 X0 Y0 Z-5 R2 Q0 J3 K0.5 H0 I0 F160 Würde an Position XY 0,0 ein Rechts-Innen-Gewinde fräsen beginnend bei Z=0 und einer Tiefe von 5mm mit einer Steigung von 0,5mm und den Fräser auf 2mm zurückziehen. Das Makro: #NAME G84.txt #LABEL "Gewindefraesen" (c) Ingolf Tippner, 09/2021 Gewindefräsen mit Gewindewirblern oder Mehrzahnfräsern ToDo: Gewindebohren (Unterscheidung durch Tool) Tool-Einstellungen: #922 Typ des Werkzeugs muss 11 (Tapdrill) sein #923 D=Dia1 ist der Durchmesser des Werkzeuges (virtueller Spitzendurchmesser minus H1) #926 Length2 ist Anzahl Zähne (1 bei Wirbler, 2..x bei Mehrzahnfräsern) #924 Dia2 ist der Pitch (0 bei Wirbler) Parameters (i.e. for M3): Z = lower end depth/start depth R = Rückzugsebene Q = Oberkante Gewinde J = Diameter nominal (3mm=M3) K = Pitch (0,5mm) H = 0 = inner threading 1= outer threading F = Vorschub I = 0 = Rechtsgewinde 1=Linksgewinde % #1=Z (Merke die Tiefe) #2=0 (Seitlicher Versatz) #3=0 (Anzahl Durchgänge) #5=0 (Akku) #6=J #7=K #8=Q #9=X #10=Y #11=0 (Sicherheitsabstand seitlich bei AG) #12=0 (H-Dreieck) #13=0 (Kernbohrung Spitzenwert) #14=0 (Äußerer Spitzenwert) #15=0 (Kerndurchmesser Außengewinde) (Ueberpruefe das Werkzeug) IF (#922<>11) THEN (falsches Werkzeug) PRINT "G84: Falsches Werkzeug gewählt." M2 ENDIF IF (#926=0) THEN (no parameters set) PRINT "G84: Werkzeug Anzahl Zähne = 0" M2 ENDIF IF (#926>1) & (K<>#924) THEN PRINT "G84: Steigung passt nicht zum Werkzeug." M2 ENDIF IF (H<>0) THEN (outer threading) #11=(#6/2)+(#923+1.0)/2 (Versatz seitlich +0,5mm Luft) #12=#7*0.5*1.7320 (H=Steigung/2*sqrt(3) #14=#6+(#12/4) #13=#14-(2*#12) #15=#13+(#12/3) #2=(#15+#923)/2 (Fräsbahndurchmesser) (Berechnen der Anzahl Durchgänge) #3=(#8-#1)/#7 (Anzahl Gewindegänge, fraktional) IF #926=1 THEN (Wirbler, der muss alle Runden machen) #5=ROUND(#3) IF #5<#3 THEN #3=#3+1 (+1, weil wir keine halben Kreise machen) ENDIF ELSE (Mehrgang-Schneider) IF #926>=#3 THEN (Fräser ist länger als benötigt) #3=2 (Ein Durchgang, 1x Schlichten) ELSE (Fräser ist kürzer als das benötigte Gewinde) #3=(#3-#926)+1 (Rest noch per Helix rausfahren) ENDIF ENDIF #3=ROUND(#3) G0 X=#9+#11 Y=#10 G0 Z=R (Außenkontour+Abstand, Sicherheitshöhe) IF I=1 THEN (Linksgewinde) G0 Z=#1 (Absenken) G1 X=#9+#2 F=F (seitliche Anfahrt) REPEAT=#3 (Helix nach oben, Steigung) G2 X=X Y=Y I=-#2 J0 Z=Z+K NEXT ELSE (Rechtsgewinde) (Starthöhe berechnen) G0 Z=#1+(#3*#7) G1 X=#9+#2 F=F (seitliche Anfahrt) REPEAT=#3 (Helix nach unten, Steigung) G2 X=X Y=Y I=-#2 J0 Z=Z-K NEXT ENDIF G1 X=#9+#11 G0 Z=R M99 ELSE (inner Threading) #2=(#6-#923)/2 (Versatz seitlich innerhalb Bohrung) (Berechnen der Anzahl Durchgänge) #3=(#8-#1)/#7 (Anzahl Gewindegänge, fraktional) IF #926=1 THEN (Wirbler, der muss alle Runden machen) #5=ROUND(#3) IF #5<#3 THEN #3=#3+1 (+1, weil wir keine halben Kreise machen) ENDIF ELSE (Mehrgang-Schneider) IF #926>=#3 THEN (Fräser ist länger als benötigt) #3=2 (Ein Durchgang, 1x Schlichten) ELSE (Fräser ist kürzer als das benötigte Gewinde) #3=(#3-#926)+1 (Rest noch per Helix rausfahren) ENDIF ENDIF G0 X=#9 Y=#10 Z=R (Zentrum der Bohrung, Sicherheitshöhe) IF I=0 THEN (Rechtsgewinde) G0 Z=#1 (Absenken in Bohrung) G1 X=X+#2 F=F (seitliche Anfahrt) REPEAT=#3 (Helix nach oben, Steigung) G3 X=X Y=Y I=-#2 J0 Z=Z+K NEXT ELSE (Linksgewinde) G0 Z=Q G1 X=X+#2 F=F (seitliche Anfahrt) REPEAT=#3 (Helix nach unten, Steigung) G3 X=X Y=Y I=-#2 J0 Z=Z-K NEXT ENDIF G1 X=X-#2 G0 Z=R M99 ENDIF M99 Simulation: #1=Z (Merke die Tiefe) #2=0 (Seitlicher Versatz zum Gewinde-DM) #3=0 (Anzahl Durchgänge) #5=0 (Akku) #6=J #7=K #8=Q #9=X #10=Y #11=0 (Sicherheitsabstand seitlich bei AG) #12=0 (H-Dreieck) #13=0 (Kernbohrung Spitzenwert) #14=0 (Äußerer Spitzenwert) #15=0 (Kerndurchmesser Außengewinde) (Ueberpruefe das Werkzeug) IF (#922<>11) THEN (falsches Werkzeug) PRINT "G84: Falsches Werkzeug gewählt." M2 ENDIF IF (#926=0) THEN (no parameters set) PRINT "G84: Werkzeug Anzahl Zähne = 0" M2 ENDIF IF (#926>1) & (K<>#924) THEN PRINT "G84: Steigung passt nicht zum Werkzeug." M2 ENDIF IF (H<>0) THEN (outer Threading) #11=(#6/2)+(#923+1.0)/2 (Versatz seitlich +0,5mm Luft) #12=#7*0.5*1.7320 (H=Steigung/2*sqrt(3) #14=#6+(#12/4) #13=#14-(2*#12) #15=#13+(#12/3) #2=(#15+#923)/2 (Fräsbahndurchmesser) (Berechnen der Anzahl Durchgänge) #3=(#8-#1)/#7 (Anzahl Gewindegänge, fraktional) IF #926=1 THEN (Wirbler, der muss alle Runden machen) #5=ROUND(#3) IF #5<#3 THEN #3=#3+1 (+1, weil wir keine halben Kreise machen) ENDIF ELSE (Mehrgang-Schneider) IF #926>=#3 THEN (Fräser ist länger als benötigt) #3=2 (Ein Durchgang, 1x Schlichten) ELSE (Fräser ist kürzer als das benötigte Gewinde) #3=(#3-#926)+1 (Rest noch per Helix rausfahren) ENDIF ENDIF #3=ROUND(#3) G0 X=#9+#11 Y=#10 Z=R (Außenkontour+Abstand, Sicherheitshöhe) IF I=1 THEN (Linksgewinde) G0 Z=#1 (Absenken) G1 X=#9+#2 F=F (seitliche Anfahrt) REPEAT=#3 (Helix nach oben, Steigung) G2 X=X Y=Y I=-#2 J0 Z=Z+K NEXT ELSE (Rechtsgewinde) (Starthöhe berechnen) G0 Z=#1+(#3*#7) G1 X=#9+#2 F=F (seitliche Anfahrt) REPEAT=#3 (Helix nach unten, Steigung) G2 X=X Y=Y I=-#2 J0 Z=Z-K NEXT ENDIF G1 X=#9+#11 G0 Z=R M99 ELSE #2=(#6-#923)/2 (Versatz seitlich innerhalb Bohrung) (Berechnen der Anzahl Durchgänge) #3=(#8-#1)/#7 (Anzahl Gewindegänge, fraktional) IF #926=1 THEN (Wirbler, der muss alle Runden machen) #5=ROUND(#3) IF #5<#3 THEN #3=#3+1 (+1, weil wir keine halben Kreise machen) ENDIF ELSE (Mehrgang-Schneider) IF #926>=#3 THEN (Fräser ist länger als benötigt) #3=2 (Ein Durchgang, 1x Schlichten) ELSE (Fräser ist kürzer als das benötigte Gewinde) #3=(#3-#926)+1 (Rest noch per Helix rausfahren) ENDIF ENDIF G0 X=#9 Y=#10 Z=R (Zentrum der Bohrung, Sicherheitshöhe) IF I=0 THEN (Rechtsgewinde) G0 Z=#1 (Absenken in Bohrung) G1 X=X+#2 F=F (seitliche Anfahrt) REPEAT=#3 (Helix nach oben, Steigung) G3 X=X Y=Y I=-#2 J0 Z=Z+K NEXT ELSE (Linksgewinde) G0 Z=Q G1 X=X+#2 F=F (seitliche Anfahrt) REPEAT=#3 (Helix nach unten, Steigung) G3 X=X Y=Y I=-#2 J0 Z=Z-K NEXT ENDIF G1 X=X-#2 G0 Z=R M99 ENDIF M99 RE: Makro zum Gewindefräsen - Mathias64 - 09-21-2021 Hallo Ich hab mal eine Frage zum Gewindefräsen .Programm läuft für innengewinde wunderbar ,nur wenn ich ein aussengewinde fräsen möchte (P=1) fräst es immer ein innengewinde .Mach ich da irgend ein Fehler .Gruss Mathias RE: Makro zum Gewindefräsen - Admin - 09-21-2021 Hallo Mathias, ich habe den Thread oben mal korrigiert und noch das Außengewinde hinzugebaut. Das war noch nicht implementiert. Achtung: Der Parameter P hat sich jetzt in H geändert! Problem war, der Parameter P wurde nicht korrekt ausgewertet. Jetzt sollte es klappen. Zumindest benutze ich es und habe gerade erst wieder ein M62x1 Innen und Außengewinde gemacht. RE: Makro zum Gewindefräsen - Mathias64 - 09-21-2021 Top Danke für deine schnelle Hilfe Gruss Mathias RE: Makro zum Gewindefräsen - Admin - 09-21-2021 Kein Problem. Dafür bin ich da |