Hi,
ich baue gerade mit einem Freund eine CNC Fräse. Dazu schreibe ich jetzt eine Software. Ich muss dazu einen G-Code einlesen, dass ist ein spezieller Code, indem die Eckkoordinaten, des zu fräsenden Modells drin stehen. Der sieht ungefähr so aus.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| G0 Z 15.000 G0 X 12.879 Y 27.201 G0 Z 3.000 G1 Z -1.500 G1 X 12.879 Y 27.462 G1 X 13.160 Y 27.293 G1 X 13.139 Y 27.171 G1 X 13.144 Y 26.768 |
Für mehr Infos, hier Klicken.
en.wikipedia.org/wiki/G-code
In dem G-Code stehen noch mehr Infos drin, aber ich brauche nur die, mit G0 und G1 davor. G0 ist, wenn die Fräse im Leerlauf, in eine Ausgangsposition fährt, und G1 ist das eigentliche Fräsen.
Das Problem ist, dass der G-Code meistens <10000 Zeilen für kleinere Modelle und teilweise sogar <1.000.000 Zeilen für größere Modelle hat.
Ein weiteres Problem ist, dass das immer nur die Start und Endkoordinaten für Strecken sind, und ich für die CNC aber ca. alle 0.01mm einen Punkt benötige. Die errechne ich mit Vektor Berechnungen, aber die Anzahl der Punkte ist das Problem. Für einen cm benötige ich dann schon 100 Punkte. Ich habe mir das bisher so überlegt, dass ich die richTextBox Zeile für Zeile auslese und für jede Zeile ein Objekt anlege und das in einem Array speichere. Das Objekt ist für die Klasse, die ich für die Errechnung der Punkte erstellen werde. In der Klasse werden dann immer Start und Zielkoordinaten gespeichert, und dann werden mit einer Vektorrechnung die zwischen Punkte errechnet. Auch habe ich noch das Problem, dass ein Array maximal 10.000 Felder haben darf. Aber wenn ich +10.000 Zeilen habe, wird das ziemlich Problematisch.
Was haltet ihr von meiner Idee, oder habt ihr Verbesserungsvorschläge?
Wie kann ich das mit dem Objekt Array am einfachsten lösen?
MfG
Philipp