Hallo Zusammen,
ich habe hier ein eher dubioses Problem mit dem GraphicsPath der GDI+ in meiner Anwendung.
Meine Anwendung wertet sogenannten G-Code aus (Programme von CNC Maschinen) und stellt das ergebnis anschließend grafisch dar. Das funktioniert mittlerweile seit gut 2 Jahren auch im produktiven Umfeld recht gut. Jetzt kam aber plötzlich ein neues CNC-Programm, welches folgendes Verhalten zeigt:
Beim Durchlaufen des G-Codes erzeuge ich die jeweiligen grafischen Elemente. Also zb. eine Linie bis zu einem Endpunkt, einen Kreisbogen oder einen Vollkreis. Dies wird jeweils als Figur einem (temporären) Graphicspath hinzugefügt. Ist das Bauteil nun fertig geschnitten (das wird im CNC Code durch einen Befehl angezeigt) wird der temporäre Pfad in die Pfadeigenschaft einer Bauteilklasse übertragen. Diese Übertragung erfolgt durch ein graphicspath.addpath(tempPafad,False). Das dubiose ist jetzt, das genau nur bei diesem einem Programm, der temppfad zwar gefüllt ist, also ich sehe eine PointCount von 141, die zugehörigen Punkte und Typen in den Eigenschaften. Nach der Zeile
ist allerdings AllgPath nach wie vor leer (PointCount=0).
Bei allen anderen Programmen läuft dies einwandfrei und der in "Pfadgeometrie" enthaltene Pfad wird dem AllgPath hinzugefügt. Nur eben bei diesem Programm nicht. Es gibt dazu auch leider keine Fehlermeldung oder ähnliches. Unterschiede im CNC Programm finde ich eigentlich auch nicht, außer dass es natürlich unterschiedliche Bauteile und dem nach auch andere Koordinaten beinhaltet.
Weiß jemand vielleicht ob die Methode AddPath irgendwelche Grenzen hat? In der MSDN hätte ich dazu nix gefunden!
Bitte um eure Unterstützung,
Danke und LG
Günther
ich habe hier ein eher dubioses Problem mit dem GraphicsPath der GDI+ in meiner Anwendung.
Meine Anwendung wertet sogenannten G-Code aus (Programme von CNC Maschinen) und stellt das ergebnis anschließend grafisch dar. Das funktioniert mittlerweile seit gut 2 Jahren auch im produktiven Umfeld recht gut. Jetzt kam aber plötzlich ein neues CNC-Programm, welches folgendes Verhalten zeigt:
Beim Durchlaufen des G-Codes erzeuge ich die jeweiligen grafischen Elemente. Also zb. eine Linie bis zu einem Endpunkt, einen Kreisbogen oder einen Vollkreis. Dies wird jeweils als Figur einem (temporären) Graphicspath hinzugefügt. Ist das Bauteil nun fertig geschnitten (das wird im CNC Code durch einen Befehl angezeigt) wird der temporäre Pfad in die Pfadeigenschaft einer Bauteilklasse übertragen. Diese Übertragung erfolgt durch ein graphicspath.addpath(tempPafad,False). Das dubiose ist jetzt, das genau nur bei diesem einem Programm, der temppfad zwar gefüllt ist, also ich sehe eine PointCount von 141, die zugehörigen Punkte und Typen in den Eigenschaften. Nach der Zeile
ist allerdings AllgPath nach wie vor leer (PointCount=0).
Bei allen anderen Programmen läuft dies einwandfrei und der in "Pfadgeometrie" enthaltene Pfad wird dem AllgPath hinzugefügt. Nur eben bei diesem Programm nicht. Es gibt dazu auch leider keine Fehlermeldung oder ähnliches. Unterschiede im CNC Programm finde ich eigentlich auch nicht, außer dass es natürlich unterschiedliche Bauteile und dem nach auch andere Koordinaten beinhaltet.
Weiß jemand vielleicht ob die Methode AddPath irgendwelche Grenzen hat? In der MSDN hätte ich dazu nix gefunden!
Bitte um eure Unterstützung,
Danke und LG
Günther