Hi Leutz,
bin gerade dabei einen kleinen CNC Editor mit
grafische Ausgabe zu programmieren. Auch soll ein
Syntax Überprüfung stattfinden u.s.w. Der folgende
Quelltext ist ein Beispiel für ein CNC Fräsprogramm.
Code:
%%3000
X254.20Y134.30T1M31M31M31
X0.00Y0.00M50
X540.00Y421.30M90M30
X0.00Y0.00M50
X0.00Y190.00M50M30
X253.85Y134.65T0T2M31M31
X262.67Y143.47G1G42F6
X262.67Y158.02G1
X258.97Y158.02G1
X258.97Y173.28G1
X262.67Y173.28G1
X262.67Y205.02G1
X259.75Y205.02G1
X259.75Y207.58G2R1.28G42
X262.67Y207.58G1G42
X262.67Y242.02G1
X258.97Y242.02G1
X258.97Y257.28G1
X262.67Y257.28G1
X262.67Y277.83G1
X253.85Y286.65G1
X253.85Y286.65T0
X0.00Y0.00M50
X540.00Y421.30M90M30
X0.00Y0.00M50
X0.00Y190.00M50M30
X260.90Y159.95T0T3M31M31
X260.90Y171.35G1F12
X262.40Y171.35G1
X262.40Y159.95G1
X260.90Y243.95T0
X260.90Y255.35G1
X262.40Y255.35G1
X262.40Y243.95G1
X255.53Y288.33T0
X265.05Y278.81G1G42F8
X265.05Y142.48G1
X255.53Y132.97G1
X255.53Y132.97T0
X0.00Y0.00M50
X540.00Y421.30M90M30
X0.00Y0.00M50
X0.00Y190.00M50M30
X396.40Y125.00T0T4M31
X399.40Y128.00G1G42F15
X399.40Y293.30G1
X396.40Y296.30G1
X143.60Y296.30G1
X140.60Y293.30G1
X140.60Y293.30T0
X0.00Y0.00M50
X0.00Y190.00M50M30
X140.60Y128.00T0M31
X143.60Y125.00G1G42F15
X396.70Y125.00G1
X140.60Y293.60T0
X140.60Y131.00G1G42
X140.60Y127.70G11F2
X140.60Y127.70T0
X0.00Y0.00M50
X0.00Y190.00M50M30
M100,NVFRAES455
$
T01D0803
T02D-1005
T03D-2405
T04D-2405
$
Mein erstes Ziel muss dann lauten das CNC Programm zu zerlegen.
Der Anfang muss immer "%%3000" stehen u.s.w.
Ich hatte mich mal daraangemacht die Werkzeuge (T-Parameter) zu zerlegen
und in einer Listview anzuzeigen. Brauche es später auch für die
Grafische Anzeige u.s.w. das es getrennt wurde.
Die Werkzeuge stehen immer zwischen den Zeichen "$" wie man es am
Ende der Quelltext erkennen kann.
Ich hatte versucht mit dem PChar zu arbeiten. Aber irgendwie steige ich
da nicht richtig durch. Ich denke sobald ich das kann, wird die Restlichen Dingen wie Koordinaten u.s.w. im gleichen Verfahren ablaufen.
Könnte jemand mir ein BeispielCode zeigen wie sowas funktionieren könnte?
Danke schon mal für euer Hilfe.