Profildaten *.DAT für die CNC-Schneide vorbereiten. Skalieren, Drehen, Abbrand. G-Code schreiben.

Hallo Christoph!

Bezüglich des Abbrands und der schneide Geschwindigkeit hab ich mir noch ein paar Gedanken gemacht.

Die Geschwindigkeit (in deinem Beispiel 150) wird ja am Portal gefahren, bei gepfeilter Fläche am anderen Portal im Verhältnis dazu natürlich verringert. Der Abbrand ist eine Funktion der Geschwindigkeit, wobei sicher nicht linear berechenbar.
Daher ist der Abbrand am kürzeren Außenprofil erstmal höher als am Innenprofil.
Aber auch am Innenprofil bewegt sich der Draht durch die Projektion mit einer geringeren Geschwindigkeit als am Portal.
Meiner Meinung nach müsste man auch die Geschwindigkeit aufs Portal projizieren, das müsste einfach über das Lägenverhältnis von Profil am Portal zu geschnittenem Profil funktionieren.

Z.B.: die Projektion am Portal ist 10 cm, das zu schneidennde Profil ist 9 cm. Daraus ergibt sich ein Verhältnis von 10/9. Multipliziert man dies mit der gewünschten Schnittgeschwindigkeit von 150, für welche auch der Abbrand bestimmt wurde, ergibt sich eine Geschwindigkeit am Portal von ca. 166


Für den Abbrand am Außenprofil müsste man dann auch über das Verhältnis die wahre Geschwindigkeit berechnen und mit dieser den Abbrand fürs Außenprofil bestimmen.

Wieder als Beispiel die Profilänge von 9 cm innen und angenommen 5 cm außen. Ergibt ein Verhältnis von 5/9. Multipliziert mit der Geschwindigkeit von 150 am Innenprofil, ergibt sich fürs Außenprofil eine Schnittgeschwindigkeit von ca. 83.
Für diese Geschwindigkeit müsste dann der Abbrand bestimmt werden.

Wenn ich mal Zeit finde, hätte ich vor für die Verhältnisse von 10/10 bis 5/10 den Abbrand in mehreren Messungen zu bestimmen und eine mathematische Annäherung zu finden (bei konstanter Temperatur) . Aber das ist leider noch Zukunftsmusik.

Ich hoffe du verstehst meinen Beitrag nicht als negative Kritik.
Ich hab mir aus dem Bericht wirklich einiges mitnehmen können und finde es wirklich super dass du dir die Mühe machst.

Lg Manuel
 
Hallo zusammen,

@Christoph: Superklasse erklärt! Vielen Dank für Deine tolle Arbeit. 🤩

@Manuel: Genau genommen hast Du natürlich Recht und ich stimme Dir auch zu. 👍
Nur ist, wie Du ja auch schreibst, ein Mehraufwand erforderlich. Es wäre interessant herauszufinden, wie groß denn dadurch der Gewinn an Maßhaltigkeit am fertigen Bauteil sein wird. Ich kann mir vorstellen, daß dieser eher gering ist - je nach Zuspitzung und Z-Positionierung des Schaumblocks natürlich mehr oder weniger.

Ich habe das aktuelle Octave 7.3.0, das ja bei mir unter Windows 7 rumgezickt hat, nun auch unter Windows 10 ausprobiert. Es läuft einwandfrei!
Der G-Code sieht gut aus: 😀

HR_rechts.JPG
HR_links.JPG


Aus lauter Begeisterung habe ich mir erlaubt Christoph sein Excel-File (G_Code_RCN.xlsx) ein wenig weiterzuentwickeln, siehe ODS-File anbei. 😇
@Christoph: Damit sollen Deine Verdienste in keinster Weise geschmälert, sondern vielmehr gewürdigt werden.

Folgende Features sind neu hinzugekommen:
  1. Die Nachkommastellen der Koordinaten können vorgegeben werden. Dadurch wird der G-Code übersichtlicher.
  2. Die Bezeichnungen der Achsen können vorgegeben werden. Statt X,Y/U,Z kann zum Beispiel X,Y/A,B ausgegeben werden.
  3. Das Dezimalzeichen kann vorgegeben werden. Dadurch kann der G-Code an andere Dialekte angepaßt werden.
  4. Die Feedrate wird näherungsweise auf die Portalebene des längeren Verfahrwegs angepasst. Damit wird Manuels Vorschlag aus #21 teilweise umgesetzt.
Viele Grüße
Martin 😎
 

Anhänge

  • G_Code_RCN_01.ods
    257,6 KB · Aufrufe: 81
Zuletzt bearbeitet:

Aerofred

User
Hallo zusammen,
danke für die Rückmeldungen. Ich freue mich, wenn es euch hilft, und verdammt, Manuel hat recht. 😓
"Meiner Meinung nach müsste man auch die Geschwindigkeit aufs Portal projizieren, das müsste einfach über das Lägenverhältnis von Profil am Portal zu geschnittenem Profil funktionieren."
Das mit dem Längenverhältnis alleine reicht nicht: Der unterschiedliche Abbrand und viel stärker, ein anderes Profil außen verändern die Fahrwege.

Ich habe deswegen einbisschen umgestrickt:
Links / rechts sind umbenannt in Innen/Aussen. Da im xls sowieso gespiegelt wird und innen meistens das Profil größer ist, finde ich das intuitiver.

Es gibt eine neue function UmfangFlaeche.m. Es wird die Matrix der Profilkoordinaten reingeschoben und die Werte "Umfang" und "Flaeche" zurückgegeben. Sie kann auch mit Call_UmfangFlaeche.m direkt aufgerufen werden. Damit kann man die langsamere Schnittgeschwindigkeit der kurzen Seite und damit den Abbrandwert für Außen schätzen.
Cut.m ruft sie auf und gibt jetzt auch die Fläche des skalierten Profils aus. (Ohne Abbrand) Mit Fläche (Innenprofil+ Aussenprofil)/2 x Fertiglaege könnt ihr das Volumen des Schaumkerns ausrechnen, z.B. für Gewichtsabschätzung. Als zweiten Wert gibt Cut.m den Verfahrweg inkl. Abbrandkorrektur an, der Bildschirm wird auch nicht mehr gelöscht um die Werte vergleichen zu können.
Vorgehen: Zuerst mit Werten für Innen laufen lassen, dann für Außen laufen lassen. Jetzt den Abbrandwert in Dat_file_Aussen.txt mit dem Verhältnis der Umfänge anpassen und außen nochmal laufen lassen.

Cut_project_L_R_2.m benutzt die Funktion ebenfalls und schreibt die Werte für die verscheidenen Kurvenlängen ins Befehlsfenster, dazu die Faktoren von Profil_proj/ Profil, also die Faktoren, was die Portale schneller (außen) bzw.langsamer (innen) fahren müssen. Wobei die Werte für außen wurscht sind, für das Profil außen ist der Abbrand korrigiert, und das langsamere Portal kommt von allein gleichzeitig an.
Im Beispiel wird der Faktor 1.07 berechnet, d.h. wenn das Innenprofil mit F150 geschnitten werden soll, muß im Excel bei Feedrate F160 eingetragen werden.
Die Nachkommastellen zu begrenzen hab ich noch nicht geschafft, da brauch ich noch.
Ich hab das Büschel Frischfiles als zip angehängt, sind schon 10 Stück. Das ".txt" entfernen.

VG
Christoph
 

Anhänge

  • Dat2GCode.7z.txt
    100,1 KB · Aufrufe: 46
Zuletzt bearbeitet:

Wattsi

User
Erstmal möchte ich meine Bewunderung aussprechen, so ein Vorhaben durch zuziehen.

Eine Frage...
GMFC kann man immer noch kostenlos dowloaden,und damit einen Flügel konstruieren. Die Schneidedaten kann man in einem out file speichern und öffnen. Das würde dann so aussehen.

T:0.000000 XG:0.000000 YG:0.000000 XD:0.000000 YD:0.000000
// Move to block start 0y
T:1.453530 XG:0.000000 YG:14.134492 XD:0.000000 YD:16.962087
// Move to block start 0x
T:26.342400 XG:-33.915966 YG:14.134492 XD:109.761345 YD:16.962087
// Cut of trailing edge prolongation (input)
T:5.137122 XG:-9.107471 YG:14.134492 XD:120.633467 YD:16.962087
// Upper surface cut, point 201
T:0.250136 XG:-7.807421 YG:14.281921 XD:120.931025 YD:16.995822
// Upper surface cut, point 200
T:0.250136 XG:-6.507370 YG:14.432340 XD:121.228583 YD:17.022767
// Upper surface cut, point 199
T:0.250153 XG:-5.207320 YG:14.582817 XD:121.526140 YD:17.049578
// Upper surface cut, point 198

usw.

könnte man diese daten ev. verwenden um die Schneide zu steuern?

Als Daten generieren mit GMFC.....schneiden mit ???? SW....

Wolfgang
 

Aerofred

User
Hallo Wolfgang,
die Diskussion um GMFC, verkauft, neuer Eigentümer, Tips und Tricks.. waren ehrlich gesagt der Auslöser, warum ich selber gebastelt habe.
Aber zu deiner Frage: Kann man den GMFC-Code rückwärts in Koordinaten auflösen?
In deinem Beispiel steht T:xxx, XG,YG.. Mit T: kann ich nichts anfangen, auch weil es doppelte Werte gibt. Vielleicht eine Heizeinstellung?
Der Rest sieht nach Koordinaten aus, die lassen sich rausziehen und zu G_Code verarbeiten. Die Koordinaten berücksichtigen (hoffentlich) auch die Lage von Schaumblock und Portalen. D.h. wenn du ein Config-file deiner Maschine hast, und die Profile, dann kann ich den den G-Code mit meinem Code erzeugen. Vielleicht hast du Beispielfiles und stellst sie ein. Dann vergleichen GMFC- Kooerdinaten mit G-Code. Wenn die Werte übereinstimmen, ist das Verfahren bekannt und kann auch rückwärts gemacht werden.
Ich wollte eh einen Parser machen, der die Koordianten aus DXF extrahiert. Wenn ich das in den Griff kriege, könnte damit auch deine Files verarbeitet werden. Dauert aber ein bisschen, nächste Woche geht die Arbeit wieder los.
VG
Christoph
 

Wattsi

User
.
Aber zu deiner Frage: Kann man den GMFC-Code rückwärts in Koordinaten auflösen?
In deinem Beispiel steht T:xxx, XG,YG.. Mit T: kann ich nichts anfangen, auch weil es doppelte Werte gibt. Vielleicht eine Heizeinstellung?
Der Rest sieht nach Koordinaten aus, die lassen sich rausziehen und zu G_Code verarbeiten. Die Koordinaten berücksichtigen (hoffentlich) auch die Lage von Schaumblock und Portalen. D.h. wenn du ein Config-file deiner Maschine hast, und die Profile, dann kann ich den den G-Code mit meinem Code erzeugen. Vielleicht hast du Beispielfiles und stellst sie ein. Dann vergleichen GMFC- Kooerdinaten mit G-Code. Wenn die Werte übereinstimmen, ist das Verfahren bekannt und kann auch rückwärts gemacht werden.
Ich wollte eh einen Parser machen, der die Koordianten aus DXF extrahiert. Wenn ich das in den Griff kriege, könnte damit auch deine Files verarbeitet werden. Dauert aber ein bisschen, nächste Woche geht die Arbeit wieder los.
VG
Christoph
Hallo Christoph
hier ein rechteck, ohne Abstände zu den Auflagen
Tiefe 100mm
Dicke 20mm(+-10mm)
ohne Heizung, ohne Abbrand

F:Brändle
N:Default
Hw:0
// Chauffe
Hw:70
T:0.000000 XG:1.300000 YG:1.300000 XD:100.000000 YD:100.000000
// Tempo
T:0.000000 XG:0.000000 YG:0.000000 XD:0.000000 YD:0.000000
// Move to block start 0y
T:0.924570 XG:0.000000 YG:10.000000 XD:0.000000 YD:10.000000
// Move to block start 0x
T:0.000000 XG:0.000000 YG:10.000000 XD:0.000000 YD:10.000000
// Cut complex shape, point 0
T:0.000000 XG:0.000000 YG:10.000000 XD:0.000000 YD:10.000000
// Cut complex shape, point 1
T:2.500000 XG:0.000000 YG:20.000000 XD:0.000000 YD:20.000000
// Cut complex shape, point 2
T:25.000000 XG:100.000000 YG:20.000000 XD:100.000000 YD:20.000000
// Cut complex shape, point 3
T:2.500000 XG:100.000000 YG:10.000000 XD:100.000000 YD:10.000000
// Cut complex shape, point 4
T:2.500000 XG:100.000000 YG:-0.000000 XD:100.000000 YD:-0.000000
// Cut complex shape, point 5
T:25.000000 XG:0.000000 YG:-0.000000 XD:0.000000 YD:-0.000000
// Cut complex shape, point 6
T:2.500000 XG:0.000000 YG:10.000000 XD:0.000000 YD:10.000000
// Cut of trailing edge prolongation (output)1
T:0.500000 XG:-2.000000 YG:10.000000 XD:-2.000000 YD:10.000000
// Return to the initial position
T:0.500000 XG:0.000000 YG:10.000000 XD:0.000000 YD:10.000000
// Return to the initial position
T:0.924570 XG:0.000000 YG:0.000000 XD:0.000000 YD:0.000000
 

Ewald

User
Kleiner Hinweis - die Bezeichnungen sind aus dem Französischen abgeleitet . XG G= Gauche = links, XD D= Droite = rechts.

T könnte evtl. die Zeit angeben
 

Aerofred

User
Hallo Wolfgang,
hast du den cut2g von Ewald mal getestet? Dann wäre meine Arbeit überflüssig bzw. woanders besser eingesetzt.
VG
Christoph
 

Wattsi

User
Hallo Christoph
gerade gemacht, schaut gut aus

Verflixt ich kann die Datei nicht anhängen.
hab ich umbenannt von TEST.tap auf *.dat
 

Anhänge

  • G-code.dat
    23,9 KB · Aufrufe: 56
Zuletzt bearbeitet:

Aerofred

User
Hallo Wolfgang,
ich habe aus deinem G-code.dat alle Zeilen von Hand gelöscht, in denen kein G1... steht. Dann alle "," mit "." ersetzt. (EDITOR)
Datei mit Excel öffnen, Import " " als Feldtrenner, Tausender-Dezimal-"," aus, "." als Dezimaltrener (Komma). Felder nach rechts kopiert und damit 2 Graphiken gemacht.
Sieht so aus wie es soll, d.h. daraus kann auch wieder ein *.dat-File gemacht werden.

Cut2G.JPG

Damit kann man die Frage, ob GMFC als Wingdesigner, und weiter mit meinem Programm, geht, mit ja beantworteten. Umfrickeln auf GRBL in Excel geht damit natürlich auch ohne mein Programm.
Ich persönlich würde das aber nur für alte, historisch wertvolle Dateien machen, für neu ist das direkte editieren der dat_file_... vermutlich schneller.
VG
Christoph
 

Anhänge

  • Test_cut2g.xlsx
    76,5 KB · Aufrufe: 49
  • G-code_clean.txt
    22,7 KB · Aufrufe: 45

Aerofred

User
Hallo zusammen,
dieser thread ist in komprimierter Form jetzt im Magazin veröffentlicht.
In den Kommentaren kamen Fragen auf, die ich hier beantworten möchte.

von "einlenz":
"Danke für die ausführliche Beschreibungen deiner Vorgehensweise. Ich würde an der Stelle trotzdem auf das Tool Wingwire von @dodo verweisen, das auf den ersten Blick ähnliche Funktionen bereitstellt und in meinen Augen sehr einfach zu bedienen ist.
Das Tool ist in diesem Thread vorgestellt:
https://www.rc-network.de/threads/wingwire-4-achs-gcode-freeware.779870/#post-7519864"

Ich kenne wingwire von Dominik "Dodo" und habe es auch am laufen, es war mehr oder weniger die Vorlage für die Anforderung, die eine Schneidsoftware können muß. Warum selber? Ich brauchte ein Projekt, um Octave zu lernen. Außerdem kann ich die Zwischenschritte Abbrand / rausprojizieren einzeln graphisch darstellen und am CAD kontrollieren.

von Wolfgang "Wattsi":
"wenn ich mich recht erinnere gibt es einen converter um aus GMFC file.out den gcode zu erzeugen....
GMFC gibt es kostenlos. Kern konstruieren, Beplankung, Überstände an Nase-und Endleiste, Verwindung, Aus Materialdatei den ermittleten Abbrand eintragen-schneiden.... Mit dem Unterschied, dass jetzt nicht der reale Schneidevorgang gestartet wird, sondern die Funktion "cut to file" aufgerufen wird. der file wird dann mit der Endung *.out gespeichert und kann dann damit


in gcode umgewandelt werden....
Nur wenn mit GMFC geschnitten werden soll, ist die Lizenz fällig."

Deine Beispieldatei TESTSD8020.txt aus dem Cut2G habe ich modifiziert, die Achsen A,B umbenannt in U,Z, wie es GRBL erwartet, und außerdem alle %%Kommentarzeilen entfernt.
Mein GRBL HotWire Mega 5x v.5.12 hat trotzdem mit Fehlermeldungen um sich geworfen und die Darstellung ist nicht wie es sein soll. Das direkte Einlesen Funktioniert also bei mir nicht.

20230214_194338[1].jpg

Im Cut2G- code ist ein Parameter, der sagt, Speed ist in mm/min, das würde passen.

Schaum mittig oder links/ rechts:
Mittig war nur das Beispiel, im Octave.code gibt es den Parameter
(Li_Schaum = Schaum_pos
Re_Schaum = (Li_Schaum + Fertiglaenge)) % Werte anpassen!
Hier kann man natürlich feste Werte eintragen für den Anschlag links bzw. rechts.
Immer links oder rechts am Anschlag anlegen funktioniert bei stark zugespitzten Randbögen bei mir nicht, irgendwann reicht der Verfahrweg nicht mehr.
Ich verwende z.Zt. 2 Portalabstände, 485mm und 350mm, 1100mm wird noch dazu kommen. Ich bin da flexibel, weil ich die Schienen der Styroschneide auf einer Küchenarbeitsplatte verschraube und daher viele Positionen, angepasst an meine Schneidebögen und Pfeilungswinkel verwenden kann.

Ich hoffe, ich konnte damit eure Fragen beantworten, sonst lasst es mich wissen.
VG
Christoph
 

Wattsi

User
Danke Christoph für Deine Mühe
Portalabstände mache ich ebenso...

Darstellung: Offensichtlich stimmen die Werte für die Y koordinate nicht. Wenn die kleiner wären, würde das ERgebnis eher dem Profil ähnlich sein. Schade, dass das nicht so funktioniert...wie ich gehofft habe
Wolfgang
 

Wattsi

User
Ich habe gerade gesehen, dass ich mit "Cut to File" folgende Dateien erstellen kann
out.cut
Dxf: out.dxf
3Ddxf: out.dxf

Das würde die Weiterbearbeitung wesentlich erleichtern....
 

Anhänge

  • out.dxf
    88,6 KB · Aufrufe: 40

Wattsi

User
Habe festgestellt:
OHNE Lizenz funktioniert CUT nicht! Auch die Funktion Cut to File geht nicht!
Also alle meine Überlegungen ohne Lizenz mit GMFC etwas anzufangen waren vergebens
Ich bitte um Entschuldigung für den Wirbel den ich durch meinen Irrtum verursacht habe
 

Aerofred

User
Ich hab das dxf angeschaut, es ist "3d", enthält aber 2 Profile übereinander, beide auf Z=0. Die Nase ist ziemlich grob. Also auch mit Lizenz keine saubere Lösung.
Wenn ich GMFZ als Flächendesigner benutzen würde, würde ich die ermittelten Werte für Verschiebung, Abstände usw. von Hand in das Eingabefile abtippen und damit in Octave reingehen. Das spart Zwischenschritte mit Hilfsprogrammen.
VG
Christoph

out_dxf.JPG
 

Wattsi

User
Ich weiß, ist jetzt irrelevant, aber ich bin halt Fan von GMFC

Die Nase ist ziemlich grob. Also auch mit Lizenz keine saubere Lösung.
Christoph
HÄTTE....sich mit Spline Funktion in GMFC glätten lassen.

UND was ich bei der Suche nach licens key noch gefunden habe: https://gmfcsoft.fr/shop/en/gmfc/
ganz unten:
Only the cutting machine needs a license key. Thus, you may share a single GMFC license among a club or a group of friends.
Da bin ich jetzt verwirrt, ich hab's nicht hingekriegt..
 
Zuletzt bearbeitet:

Aerofred

User
Ich denke, der Wingdesigner funktioniert immer, und die Lizenz ist auf eine bestimmte Maschine. Da die Maschinen sehr individuell sind in Portalabstand, steps/mm ... reicht das aus, um die Weitergabe der Lizenz sinnlos zu machen. (reine Vermutung)
Jeder im Verein kann und darf eine Projektdatei machen und gibt die an den Menschen, der die Schneidemaschine (mit Lizenz) betreibt.

Bild von der Konfiguration:
gmfc_config.jpg
Wie viele "current table" kannst du erzeugen?
Ich hab mal die pro-Version runtergeladen zum testen, muß mich aber reinarbeiten. Auf die Schnelle krieg ich da nichts zusammen.
VG
Christoph
 
Ansicht hell / dunkel umschalten
Oben Unten