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

Aerofred

User
Hallo zusammen,
gibt es Interesse daran, wie Profildaten zu G-Code verarbeitet werden?
Das Ganze mit Freeware, der Schaumstoff ist schließlich teuer genug. Im Bild ein SD8020 8%, verschoben, nicht gedreht, mit aufgedickter Endleiste und mit Abbrandkorrektur.
Wenn ihr das für eure CNC-Styroschneide braucht, sagt Bescheid, dann mache ich im Weihnachtsurlaub einen Bericht zum Vorgehen und der benötigten Software.
VG
Christoph
 

Anhänge

  • Cut.JPG
    Cut.JPG
    45,4 KB · Aufrufe: 171

Dix

User
Oh ja. Gerne!
 

Aerofred

User
Morgen bricht die staade Zeit über uns herein, ich werde ab dem zweiten Feiertag beginnen und bereite mich schon mal vor mit ein paar screen-shots machen.
Bis dann, schönen Weihnachten.
Christoph
 

Buxus

User
Hört sich Interessant an, ich hab gerade eine cnc Styroschneide aus 3D Drucker Teilen zusammen gepfrimelt, nachdem ich günstig an eine 3018er Fräse gekommen bin. Die Styroschneide hat 400x350mm verfahrweg, für meine Bedürfnisse aureichend. Bin mal gespannt, wie du das machst, ich hab Tragfoil herunter geladen aber noch nicht ausgiebig getestet, weil ja die CAD Programme ich nutze Autosketch da mit den Linien ihre Probleme haben. Denke das meine Schneide nach Weihnachten fertig wird.
 

Aerofred

User
Hallo zusammen,
vielen Dank für das zahlreiche Interesse.
Ich habe mit Konrad Kunik, dem Forumsmoderator, vereinbart, daß ein Magazinbeitrag entstehen soll. Dort werde ich in kompromierter Form das Vorgehen dokumentieren als Referenz zum Nachschlagen. Hier im Forum gibt es dann mehr Hintergrundinformation und die Möglichkeit für Fragen und Diskussion.
Morgen muß mein Kind arbeiten und ich hab meinen Schreibtisch wieder, dann geht's richtig los.:)
A domani
Christoph
 

Aerofred

User
Na dann mal los:
In diesem Bericht konzentriere ich mich auf den Arbeitsablauf und die Datenaufbereitung, nicht auf die Mechanik / Elektronik einer Schneideanlage.

Motivation: Warum der Aufwand, wenn es schon freeware gibt?

Ich möchte meine Finger direkt auf die Koordinaten legen können, den Schaumblock längs, quer oder diagonal teilen können, wie es mir beliebt. Z.B. nach dem Ausschneiden des Profiles den Restblock genau an der Nasenleiste, die natürlich nicht waagerecht liegt, auftrennen können. Gerade Scharnierlinien, Blöcke schälen, vorne und hinten abschneiden…

Ich erkläre den Arbeitsablauf an einem Beispiel
C206_HR_0.jpg


Wir haben die Draufsicht unseres neuen Lieblingsseglers und wissen welche Profile wohin sollen. Ein Höhenleitwerk soll es sein mit den Profil SD8020, Dicke reduziert von 10,1% auf 8%.
Spannweite 660mm, ti 140mm, ta 98mm, Nase um 34mm gepfeilt. Die Scharnierlinie ist innen 91mm von der Nasenspitze entfernt.

Aufgabe für später: Profile skalieren, in X-Richtung x 1.4, in Y-Richtung x1.4 x8 /10, um die Dicke von 10% auf 8% zu reduzieren.

Wir holen uns die Profilkoordinaten vom SD8020 aus dem Netz: http://airfoiltools.com/airfoil/details?airfoil=sd8020-il

Links unter der Graphik den link „source dat file“ klicken, auf der sich öffnenden Seite kopieren wir alles, Profilnamen und Zahlen, und fügen sie in eine leere Datei des Windows Editors ein. Speichern unter… SD8020.dat
Wenn bei anderen Quellen ein Komma als Dezimaltrenner verwendet wird, ändern wir das gleich im Editor mit der Funktion „suchen – ersetzen“ auf Punkt.

Um die Profile ins CAD zu holen, möchten wir daraus ein DXF machen.
Wir holen uns Concord auf der Seite von Martin Hepperle, das immer noch, auch unter WIN10, stabil läuft:
http://www.mh-aerotools.de/airfoils/software.htm

Haken rein bei „Autocad DXF“ und konvertieren. Ui, wenige Punkte, im CAD ( https://librecad.org/ ) sieht das dann so aus:
Profil_Polygon.jpg


Wie mit der Axt aus dem Baumstamm gepickelt, das muß genauer werden. So alle 1mm in X-Richtung ein Punkt, an der Nase gerne dichter.

Ab zur Seite von Frank Ranis, der neben FLZ_VORTEX auch den Profil-Editor geschrieben hat.
https://flz-vortex.de/index.html

Den Profileditor starten, Profil laden, den Namen SD8020 mit der Maus anklicken. Unter Funktion / Punkte neu verteilen wählen wir 121 Koordinaten, Verteilung „sin vorn“. Bei ungerader Anzahl von Koordinaten ist der Nasenpunkt eindeutig. Das XFLR-Tutorial empfiehlt zwischen 120 und 150 Punkten auf der Kontur.
Jetzt Datei / Profil speichern unter, die erzeugte Demo.dat umbennen in SD8020_121.dat
Der Profileditor kann sehr viel mehr, ein bisschen rumspielen ist zu empfehlen.

Wichtig: Die Anzahl der Punkte am Innenprofil muß gleich sein wie am Außenprofil. Sonst gibt es zuerst Mecker beim extrude im CAD, und später beim Schneiden bleibt der heiße Draht auf einer Seite kurz stehen und brät eine Rille in den Schaum. In meinem Beispiel geschenkt, Innenprofil = Außenprofil.
Jetzt haben wir Profile, wie sie sein sollen, im nächsten Beitrag geht es kurz ins CAD.

VG
Christoph
 

Aerofred

User
Hallo zusammen,
zuerst ein kurzer Ausflug in die Mechanik.
Meine Styroschneide ist vom Baubericht von Dominik "DODO" inspiriert:

Baubericht: 4-Achs Styroporschneider für 120€ ? - Arduiono + Ramps 1.4 | RC-Network.de

Und https://www.rcgroups.com/forums/sho...Wire-CNC-(Arduino-Ramps1-4)-Complete-Solution

Diese Version hat den Vorteil, daß sie funktioniert und den Nachteil, daß ich keine Endschalter habe. Die Versionen von „RC-Keith“ mit Endschaltern erzeugen eine Fehlermeldung im GRBL-hotwire Controller, die ich nicht beheben kann. Wer eine andere funktionierende Version mit fertig kompiliertem Controller und GRBL mit Endschalter hat, bitte posten.

Der Abstand der Auflagepunkte des Schneidedrahtes ist 485mm, die freie Drahtlänge des zugehörigen Schneidebügels ist 580mm breit. Daher kann ich in dieser Konfiguration einen maximalen Winkel, z.B. der Nasenleiste, von Arccos(485/580) = 33° schneiden. Durch listiges Plazieren des Schaumblocks können wir einen Winkel von Nasenleiste zu Endleiste von 66° erreichen. Könnte erstmal knapp ausreichen, aber dann muß ich Fläche der inneren Rippe bei t.i in einem Winkel abschneiden. Daher schneide ich nach dem Profilschnitt eine Referenzfläche in der gleichen Aufspannung, um von dort weiter messen zu können. Bei meinem Höhenleitwerk schneide ich die Schaumblockvorderkante auf 0°, dann kann ich den linken und der rechten Block zum Verkleben mit einem Lineal ausrichten.

Bei mir sind die Schrittmotoren für die Höhe unten angeordnet. Die Oberkante des Auflagetischchens entspricht einer Höhe von Y/Z =0. Zur Zeit ist eine Opferstyroporplatte mit 10mm Dicke aufgeklebt (nicht im Bild), daher ist bei Y/Z = 10 der Schaumblock durchgeschnitten.
20221201_192407.jpg


Die Portale sind auf Aluprofilen selbsttragend montiert und können auf der Grundplatte für Flügel weiter auseinander montiert werden, mit dem langen 1,05m Bogen.

Jetzt ins CAD:
Profile reinladen, skalieren, und an die richtige Stelle schieben. Die beiden gestrichelten Linien entsprechen den Portalabstand 485mm.
C206_HR_1.jpg

C206_HR_2.jpg


An der Scharnielinie nach oben und in Spannweiten (Y)-richtung nach außen. Dort messe ich:

C206_HR_3.jpg


Das Außenprofil ist 0,72..mm tiefer als das Innenprofil. Wir müssen also um diesen Betrag nach oben verschieben, wenn wir eine gerade Scharnierlinie wollen.

Soviel für heute, morgen gibt es G-Code und ein bisschen Octave

VG
Christoph
 

Aerofred

User
G-Code, Excel: Die Symphonie der Daten

G-code: Das Ziel unserer Wünsche, keine bestimmte Endung. Ich verwende *.txt, damit das in der Dateivorschau direkt angezeigt wird, ohne die Datei öffnen tu müssen.
G-code ist direkt lesbar:

G90 : Absolute Koordinaten
M3 : Spindel ein
G01 X 3 Y 5 U 3 Z 5 F500 : Gehe zum Punkt X3,Y5… mit Vorschub F500=500mm/min

Gehe nicht über Los, sondern starte von deinem letzten Punkt, wo du gerade stehst. Wenn Kram in deinem Weg liegt, egal, fahr einfach durch.
Das erste Programm: Guillotine
Wir wollen einfach den Schaumblock abschneiden, genau da, wo der Draht steht, der Draht ist schon oben, die Schaumblockhöhe kleiner 80mm.
Wir nehmen den Editor und schreiben: (M5 Heizung aus, M30 Programm Ende)

G90
M3
G01 Y10 Z10 F150
G01 Y80 Z80 F150
M5
M30
Speichern, in den GRBL-Controler laden, und starten. Vorsichtige Menschen tun das erst mal ohne Schneidbogen.

Das zweite Programm: ZickZack
Wie groß ist eigentlich der Abbrand?
Danke an Wattsi und Paratwa, den Großmeistern des Abbrandes, die im Forum ihr Wissen weitergeben.
https://www.rc-network.de/threads/cnc-schneidemaschine-parametereinstellungen.11907191/
Kurzzusammenfassung: Ein Stück Schaum auf den Schneiddraht legen und die Stromquelle aufdrehen, bis der Schaum durchsinkt.
Jetzt den Schaum auf den Schneidtisch legen und mit heißem Draht horizontal durchfahren. Wird der Schaum verschoben, mehr Strom.
Hat der Schaum Hitzepickel in der Schnittfläche, weniger Strom.

Wir öffnen ZickZack (umbenennen)als excel oder odt, verändern die Punkte, wenn gewünscht, und kopieren den Block zwischen G90 und M30 in Spalte J in eine leere Editordatei. Speichern, nach GRBL, laufen lassen.

Das Ergebnis sollte so aussehen:
20221203_130754.jpg20221203_131854.jpg
Den Block im oberen Bild messen, alle Stege von ihren Basen abschneiden, Stapel im unteren Bild messen. Der Unterschied entspricht 4x dem Schneidespalt. Daurch wird der Meßfehler kleiner. Der Abbrand, also was am Schaum nach dem Schneiden fehlt, ist 0,5x Schnittspalt. Merken für später. Der Schnittspalt ist ca. 1mm.

Genug für heute, Octave gibts morgen. Vielleicht wollt ihr das schon mal installieren, dann könnt ihr morgen mitmachen. https://octave.org

VG
Christoph
 

Anhänge

  • ZickZack_ods.txt
    68,1 KB · Aufrufe: 63
  • ZickZack_xlsx.txt
    54,4 KB · Aufrufe: 60
Hallo Christoph!

Ich lese gespannt mit und finde es super dass du dein Wissen teilst.

Ich schneide selbst mit gmfc und da ist zum Glück alles automatisiert. Da die Zukunft von gmfc jedoch ungewiss ist finde ich das Thema äußerst spannend.

Bei deinen Ausführungen bezüglich gcode kommt bei mir jedoch die Frage auf, wie wieder auf den Ausgangspunkt zurückgefahren wird wenn der Code abgearbeitet wurde.
Fährt die schneide selbständig zurück oder muss man das noch in den Code schreiben?

Ich bin auch schon sehr gespannt, wie du die Profil Koordinaten auf die Portale projizierst, ich gehe mal davon aus, dass du dafür Oktave nutzen wirsd.

Lg Manuel
 

Aerofred

User
Hallo Manuel,
heute war das Wetter schön und ich bin nicht zum Weiterschreiben gekommen.
Aber zu deiner Frage: Die Maschine macht nur, was im G-code steht. Bei meinen ersten Kernen bin ich noch hoch, hinter, und auf (0,0) gefahren. Später habe ich das nicht mehr gemacht, und ich denke, jeder wird seine persönliche Vorliebe haben. Der Vorteil vom selber machen ist ja, daß man nicht auf die Vorliebe eines Anderen angewiesen ist, sondern seine eigenen Code anpassen kann. Übereinanderstapeln, hintereinanderstapeln, vorne / hinten abschneiden usw. Aber ich werde das in den nächsten Beiträgen noch darstellen.

Guten Rutsch an alle, ich geh jetzt Gemüse schnippeln.
Christoph
 

Aerofred

User
Hallo Buxus,
ich bin auch Mechaniker, der leider Software schreiben muß. :) Ich werde zum Abschluß eine Schritt-für-Schritt Zusammenfassung machen.
Wenn dann noch Fragen sind, versuche ich sie hier im Forum zu beantworten. Vielleicht kannst du (und alle anderen) deine Fragen mitprotokollieren, damit ich sie gesammelt möglichst gut beantworten kann.

Heute gibt's Octave: https://octave.org. Die kostenfreie Version von Matlab, dessen Lizenzgebühren den Buchhaltern unserer Firma die Zornesröte ins Gesicht treibt. Auch für Linux verfügbar.

Octave ist eine skriptbasierte Programmiersprache mit einem Editor für das Script (*.m), einem Befehlsfenster für direkte Eingaben, einem Graphikfenster, und der Möglichkeit von Festplatte zu lesen und zu schreiben. Alle 121 (X,Y)-Werte des Beispiel-Profiles können in eine Variable gespeichert und mit einer Rechenoperation verändert werden. Die 121x2 Werte bilden eine Matrix und werden mit Matrizenoperationen umgerechnet.

Auf meinem Rechner liegen die Dateien unter C:/Daten/Octave/Daten und C:/Daten/Octave/m.file.

Aus dem Verzeichnis m.file starte ich die Skripte mit Doppelklick, den Pfad kennt Octave also, aber den Pfad zu den Daten muß ich explizit angeben. Daher müsst ihr die Skripte editieren und euren Dateipfad eintragen, ebenso die Profildatei und die jeweilige Ausgabedatei. Alles hinter „%“ wird als Kommentar interpretiert und nicht ausgeführt.

Beispiel: ZeigProfil.m Dieses Beispiel solltet ihr als erstes zum Laufen bringen und mit "%" dazu und wegnehmen vor den Plotbefehlen die Darstellung im Graphikfenster verändern.

Cut.m: Das Herzstück und Skript zur Profilbearbeitung. Es bearbeitet immer nur ein Profil, am Ende des Skriptes müsst ihr das Kommentar- „%“ so setzen, daß ein mal die Datei „.._links“ entsteht, und ein mal „.._rechts“. Diese beiden Profile werden später mit dem Skript Cut_project_L_R.m zusammengeführt.

Diesen Absatz könnt ihr schnell überfliegen, das wichtige ist fett markiert.

Die Bearbeitungsreihenfolge der Profilkoordinaten ist Einlesen, Skalieren, Endleiste Aufdicken, Drehen, Abbrand, Verschieben, Speichern.
  • Skalieren: Jeder Wert wird mit dem Skalierungsfaktor multipliziert, für X- und Y- sind unterschiedliche Faktoren möglich, um die Profildicke anzupassen. (0,0) bleibt (0,0), die Variable „Scale“ enthält 2 Werte.
  • Endleiste Aufdicken: Im Netz wird als Verfahren beschrieben, die Profilkontur um den Nasenpunkt zu drehen, bis die gewünschte Dicke der Endleiste erreicht wird. Drehungen mit kleinen Winkeln können mit guter Genauigkeit durch eine lineare Funktion angenähert werden. (Weil der sin um 0° herum die Steigung 1 hat). In meinem Programm begrenze ich den Bereich, in dem das Profil verändert wird, durch die Variable L_End. Die Endleistendicke heißt H_End, eine bereits vorhandene Endleistendicke wird von der Verschiebung abgezogen. Mit L_End=15 und H_End=1 bekomme ich eine Endleistendicke von 1mm, die Aufdickung nimmt an auf 0mm im Bereich 15mm von hinten. Da zuerst skaliert wurde, gilt das unabhängig von der Profiltiefe.
  • Drehen: Dreht das Profil um den Nasenpunkt (0,0). Werte < 0 drehen die Endleiste nach oben, also die übliche Schränkung.
  • Abbrand: Für den ersten (und den letzten) Punkt wird der neue Punkt senkrecht zur ersten (letzten) Verbindslinie Punkt1 zu Punkt2 nach außen verschoben im Abstand „Abbrand“. (= Schnittspalt/2) Für alle anderen Punkte wird die Winkelhalbierende der Linien vor und nach dem Punkt verwendet. Die Erklärung der Vektorrechnung lasse ich hier mal aus.
  • Verschieben: Zum Abschluß was einfaches. Das Wurzelprofil verschiebe ich 20mm in den Schaum in X-Richtung und 10+20mm in die Schaumblockmitte in Y-Richtung. Das Außenprofil verschiebe ich 20mm in den Schaum +34mm Pfeilung in U, 10+20+0,72 für die Scharnierlinie in Z. („X_offset“ und „Y_offset“)
Die Parameter sind in einer separaten Datei gespeichert, damit man sie leichter verändern und für jedes Profil speichern kann.

Der Dateiname muß im Skript in Zeile 18 eingetragen werden, ebenso der Name der Profildatei (Z.20)

Im Befehlsfenster werden die verwendeten Parameter noch einmal angezeigt, und im Graphikfenster das Ergebnis angezeigt. Das Profil sieht ziemlich pummelig aus, weil X-Achse und Y-Achse nicht im gleichen Maßstab sind. Wenn man die Ecken so zieht, daß X- und Y-Werte gleich lang sind, freut sich das Auge am gewohnten Bild.

Im Datenverzeichnis ist jetzt eine Datei …_Profil_links.txt oder …Profil_rechts.txt, so wie in den Zeilen 163/164 mit „%“ ein- bzw. ausgeschaltet.
Das Skript muß also zwei mal laufen mit den 2 unterschiedlichen Parametersätzten, damit die 2 Dateien erzeugt werden.
Das sind immer noch Koordinaten, die mit CONCORD in ein *.dxf umgewandelt werden können. So als Lockerungsübung.

Das schlimmste ist vorbei, morgen kommt Teil zwei.
VG
Christoph
 

Anhänge

  • Dat_file_HR98.txt
    395 Bytes · Aufrufe: 64
  • Dat_file_HR140.txt
    387 Bytes · Aufrufe: 64
  • Cut.m.txt
    5,9 KB · Aufrufe: 56
  • ZeigProfil.m.txt
    588 Bytes · Aufrufe: 78

Aerofred

User
Hallo zusammen,
für alle Mechaniker zuerst in die reale Welt:
Die Ecken der Schaumteile ziehen sich oft ein, daher ist bei mir der rohe Schaumblock länger und der Teil mit der abgebrannten Ecke wird später abgetrennt.
Schaum_Ecke.jpg



Als Zeichnung: Fertiglänge 330, Blocklänge 340, mittig auf dem Schneidtisch plaziert.

HR_Portal.JPG


Den 340mm (oder mehr) langen Schaumblock lege ich ca. 72,5mm von der linken Drahtauflage auf den Schneidtisch. Bei möglichst genau 77,5 mm vom linken und rechten Auflagepunkt schneide ich nach dem Konturschnitt den Block auf Länge, das sind die Positionen, für die die Profilkoordinaten gelten. Um die richtigen Punkte zu finden, lege ich ein Stahllineal auf die Drahtführung, das auf der Rückseite mit einer Holzleiste versteift ist. Das fällt auch nicht runter, weil sich die Holzleiste an den Trapezspindeln abstützt.

20221226_215551.jpg

In zum Ausrichten in Y-Richtung fahre ich den Draht auf Y,U = 10 und schiebe den Block frei Auge so, daß er den Draht berührt. Danach wegfahren auf Y,U=5 und hoch über die Schaumblockoberkante. Dort beginnt dann der Schneide-Gcode.

Nach dem Konturschneiden schneide ich die Vorderkante bei Y,U= 13 senkrecht ab. Die Fehler vom Blockauflegen frei Auge werden also beseitigt und ich habe eine Kante, die ich mit dem Anschlagwinkel auf dem Scheidetisch ausrichten kann.

Im nächsten Bild ist in grün gezeigt, wie der Flügel bis zur Portalebene herausprojiziert wird.

C206_HR_4.jpg

Bei stark zugespitzen Flügeln mit großem Portalabstand prüfen, ob der Verfahrweg der Achsen ausreicht. Dann macht es Sinn, den Schaumblock außermittig aus den Schneidtisch zu legen.

Jetzt zu Octave und dem Skript „Cut_project_L_R.m“

In den Zeilen 8-15 müssen der „Portalabstand“(485), die „Fertiglaenge“ (330) und die Lage der Profilschnitte in der Styroschneide „Li_Schaum“ „Re_Schaum“ (77,5) eingetragen werden.

Die Namen der einzulesenden Dateien sind schon bekannt, die wurden ja mit Cut.m erzeugt.

Das Programm antwortet mit einer Graphik und schreibt die Dateien „Profil_links_proj.txt“ und …_rechts_...txt ins Datenverzeichnis.

1672689975667.png


Die Graphik kann im Fenster gedreht werden und man sieht, wie die unterschiedlichen Konturen im 3d-Raum liegen.

1672690018842.png


Wie wird es berechnet? Aus jedem Punktepaar links(i) und rechts(i) wird ein Vektor erzeugt mit der Länge, um bis zu den Portalwerten 0 bzw. 485 zu reichen. Dieser Vektor wird dann auf die Koordinaten links bzw. rechts aufaddiert.

Damit hat Octave seine Schuldigkeit getan, den Rest erledigen wir morgen mit excel, siehe Post#11.

VG
Christoph
 

Anhänge

  • Profil_rechts_proj.txt
    4,4 KB · Aufrufe: 57
  • Profil_links_proj.txt
    4,3 KB · Aufrufe: 61
  • Cut_project_L_R.m.txt
    2,6 KB · Aufrufe: 56
Hallo zusammen,

@ Christoph: Großen Dank an Dich, daß Du uns an Deiner Datenaufbereitung teilhaben läßt. Das ist super! Weiter so! 👍
@ alle Anwender: Ich habe das Script "ZeigProfil.m" in Post #15 erst dann zum Laufen gebracht, als ich
- Octave 4.2.1 statt des aktuellen 7.3.0 verwendet habe. (Windows 7, Octave-Portable-Version)
- Die Groß-Kleinschreibung im Dateinamen des Koordinatenfiles berücksichtigt habe.
- Den Profilnamen in der ersten Zeile des Koordinatenfiles gelöscht habe.
Ich habe, wie von Christoph beschrieben, den Profil-Editor benutzt. Allerdings die DEMO-Version. Diese schreibt in die erste
Zeile 'DEMO-Profil !' rein. Beim neu verteilen auf 121 Punkte bin ich mit dem Profil-Editor allerdings nicht wirklich zufrieden.
Das wird mit XFLR5 (Menu: Design / Refine global, oder F3; Foil / Current Foil / Export) im Bereich der Nase sichtbar hübscher: 😀

1672692731396.png


Gruß Martin 😎
 

Aerofred

User
Hallo Martin,
danke für's testen. Das ist genau der Input, den ich brauche. Die Kopfzeile im SD8021_121.dat habe ich tatsächlich schon wieder vergessen.
Vielleicht wäre im Profileditor "Funktion/Profil automatisch glätten cos" die bessere Wahl gewesen. Ich hänge die Datei mal an.
Ich verwende allerdings auch Octave 7.3.0 / Win10. Den Hinweis auf XFLR nehme ich gerne als Nachtrag auf.
VG
Christoph
 

Anhänge

  • SD8020_121cos.DAT
    2,3 KB · Aufrufe: 48
Hallo Christoph,
gern geschehen - Dein Engagement gehört unbedingt unterstützt! 👏
Außerdem dachte ich, daß vielleicht sonst der ein oder andere potentielle Anwender frustriert aussteigt - was doch sehr schade wäre.

Die Kopfzeile kann man in der Vollversion vom Profil-Editor offensichtlich leer lassen. In der Demo-Version wird sie halt reingeschrieben. 😉
Ja, "Funktion/Profil automatisch glätten cos" ist viel besser: 😀
1672746197257.png


Hier in meinem Sylvesterdomizil habe ich nur meinen Laptop mit Windows 7.
Die Dateien "Profil_links_proj.txt" und "Profil_rechts_proj.txt" konnte ich inzwischen damit auch erzeugen. Also soweit alles bestens! 😀
Daheim mit Windows 10 funktioniert Octave 7.3.0 sicherlich auch bei mir - ich werde berichten.

Ansonsten halte ich mich jetzt mal zurück und lasse Dich erstmal Deine Ausführungen in Ruhe fertig machen ...
... und lese weiterhin interessiert mit! 🧐
Gruß Martin 😎
 

Aerofred

User
Hallo zusammen,
Zum Endspurt mit ein bisschen copy / paste.

Kurzversion:

Im Excel „G_Code_RCN.xlsx“ werden die Daten aus den beiden Dateien "Profil_links_proj.txt" und "Profil_rechts_proj.txt" in die 2 Tabellenblätter links und rechts kopiert, von dort in der richtigen Reihenfolge in ein das Tabellenblatt G_Code kopiert. Da üblicherweise eine linke und eine rechte, gespiegelte Flügelhälfte geschnitten wird, gibt es 2 richtige Reihenfolgen, normal und gespiegelt.

Lange Version, für Excel-Einsteiger:

Wir öffnen das „G_Code_RCN.xlsx“, und löschen im Blatt „links“ alle Daten. (Rahmen ziehen, „entf“)

Im Fileexplorer aktivieren wir das Vorschaufenster, markieren die Datei „Profil_li_proj“, und klicken ins Vorschaufenster. STRG-a (alles markieren); STRG-c (kopieren). Zurück ins Excel, die Zelle links oben anklicken (A1), STRG-v (einfügen). In Spalte C wird die Anzahl der Werte gezählt. (Rahmen um die unteren 3 Zellen, linke untere Ecke mit der Maus packen und soweit nach unten ziehen, wie links davor Werte stehen). Nochmal das gleiche mit Rechts, Profil_re_proj in den Reiter „rechts“ kopieren. Zur Kontrolle gibt es ein Diagramm. (Zur Übung könnt ihr im „ZickZack“ das zweite Diagramm reparieren 😊)

Im Blatt „G_Code“ stehen oben links ein paar Konstanten, die angepasst werden müssen:

F150 ist die Schneidegeschwindigkeit, für die ich den Abbrand ertestet habe.

F500 ist die Verfahrgeschwindigkeit ohne Schneiden. Vollgas, aber ohne Schrittverluste.

Y.oben ist die Höhe, in der die Portale mit ausreichend Sicherheitsabstand über dem Schaumblock verfahren können.

Mit „C2“ Auslauf hinten wird ein horizontaler Bereich im Schaum geschnitten, den ich zum Abstützen des Vakuumsackes brauche.

Die G_Code-Zeilen werden durch =TEXTVERKETTEN("";WAHR;$B$2;" X";A9;" Y";B9;" U";C9;" Z";D9;" ";$B$1) zeilenweise gebildet. Also „G01“+“ X“+(X-Wert) usw.

Mein Portal steht noch auf X,U=10 vom Schaumblockauflegen, Höhe irgendwo. Die ersten 4 Bewegungen im G_code sind also weg vom Schaum, hoch auf Y.oben, hinter zur Endleiste+20, runter zur Endleiste+20. Ab hier werden die Koordinaten abgefahren. Die letzten 3 Zeilen sind wieder Endleiste+20, dann hoch. Ich fahre nicht nach hause, weil ich hier den Schneidebogen aushänge und dann den „home“-Button benutze.

Bei mehr als den 121 Koordinaten im Beispiel können die unteren Zellen mit einem Rahmen markiert und verschoben werden. Für die fehlenden Zeilen Rahmen um die Zellen der letzten Zeile ziehen, linke untere Ecke…

Die G_Code-Böcke in den Spalten F bzw.H kopieren und in jeweils ein Editor-File einfügen. Das entfernt alle Excel-Formatierungen, die wir nicht brauchen.

Speichern, in den GRBL-Controller laden, und laufen lassen.

20221204_211445.jpg

NEIN, NICHT DEN SCHAUMBLOCK WEGNEHMEN!
Zuerst noch die Markierung machen, wo der Überstand (für die eingezogene Ecke) abgeschnitten werden muß. ;)

Das wars, viel Spaß beim Testen.

VG

Christoph
 

Anhänge

  • G_Code_RCN.xlsx
    112,6 KB · Aufrufe: 61
Ansicht hell / dunkel umschalten
Oben Unten