| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| Je kleiner, desto besser: MinebeaMitsumi Technology Center Europe, ein Anwenderbericht
|
Autor
|
Thema: Polygonzug aus Koordinatenliste erstellen (1460 / mal gelesen)
|
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000 System: DELL Precision 5770, 32GB RAM nVidia RTX A2000 Win10 Enterprise 64bit SOLIDWORKS 2022 Premium SP5.0 Creo Elements/Direct Modeling (x64) 19.0 M030
|
erstellt am: 21. Feb. 2017 07:52 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen zusammen, ich suche nach einer Möglichkeit aus ca. 4000 X-Y-Koordinatenpunkten einen Polygonzug zu erstellen. In CoCreate-Modeling V19 (Creo oder wie auch immer) klappt das relativ einfach, wenn ich ein Lisp-Makro lade, in dem einfach der Befehl zur Erzeugung eines Polygonzuges und dann die ganzen (durch Komma getrennten) Koordinaten gefüttert werden (siehe Anhang). Gibt es eine solche Möglichkeit auch im Drafting? Vielen Dank im Voraus! Grüße, Michael ------------------ Avis matutina vermem capit [Diese Nachricht wurde von MC am 21. Feb. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gerhard Deeg Ehrenmitglied V.I.P. h.c. i.R. Konstrukteur aus Leidenschaft
Beiträge: 2643 Registriert: 17.12.2000 CREO - OSD - OSM HP XW4400 - XW4600 Dell Inspiron 17E NVIDIA QUADRO FX1500 NVIDIA Quadro FX1800 HP Mini 210 2002sg WIN 7 Ultimate 32/64
|
erstellt am: 21. Feb. 2017 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, schau Dir doch mal den Anhang an, so müsste es gehen. Einfach nur Import, Macro, laden, ..... Gruß Gerhard ------------------ Jeder erfüllte Wunsch ist ein Traum weniger. Träume sind die Sonnenstunden der Hoffnung. [Diese Nachricht wurde von Gerhard Deeg am 21. Feb. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 21. Feb. 2017 13:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Gerhard, vielen Dank für deine Antwort! Wenn ich die Datei so wie von dir beschrieben versuche zu laden, bekomme ich die Fehlermeldung "Nocke_xy.txt ist keine binäre Makro-Datei". Auch das Umbenennen in "Nocke_xy.m" bringt leider keine Besserung. Kannst du mir sagen, was ich falsch mache? Danke dir im Voraus! Grüße, Michael
------------------ Avis matutina vermem capit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
r.hoffmann Mitglied Techniker
Beiträge: 128 Registriert: 07.12.2006 OSD 13.2 20.4
|
erstellt am: 21. Feb. 2017 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, falls die Daten von einer externen Prozedur geschrieben wurden, kannst Du untenstehendes Makro benutzen. Falls, wie in Deiner Datei Zeilen existieren, die keine Koordinaten beinhalten, müsstest Du diese vor dem Beginn der Schleife per READ_FILE 9 zeile auslesen, ohne sie zu verarbeiten. Gruß Robert {######################################################################} {### ###} {### Datei eva_polygon.mac ###} {### ###} {### (c) 2017 by E.V.A. Robert Hoffmann ###} {### ###} {### erstellt Polygonzug aus einer Koordinaten-Datei ###} {### Die Datei darf nur die Koordinaten kommagetrennt enthalten ###} {### Dezimalzeichen ist der Punkt ###} {### Letzter Befehl wandelt die einzelnen Linien in ein Polyelement ###} {### ###} {### Erforderliche Makros: ###} {### -- ###} {### ###} {### NUTZUNGSBEDINGUNGEN ###} {### ###} {### ALLE OBIGEN KOMMENTARE UND COPYRIGHT-VERMERKE ###} {### SIND UNVERÄNDERT ZU LASSEN ###} {### ÄNDERUNGEN AM QUELLTEXT SIND ALS SOLCHE ZU KENNZEICHNEN ###} {### UND SOLLTEN ZUR PRÜFUNG AN info@me10-makros.de GESENDET WERDEN ###} {### ###} {######################################################################} DEFINE eva_polygon LOCAL dateiname LOCAL zeile LOCAL x1 LOCAL y1 LOCAL x2 LOCAL y2 LOCAL xanfang LOCAL yanfang LOCAL xende LOCAL yende LOCAL Zaehler LOCAL p LOCAL l LOCAL dummy READ STRING 'Dateiname: ' dateiname TRAP_ERROR OPEN_INFILE 9 dateiname IF (CHECK_ERROR) DISPLAY("Datei "+dateiname+" existiert nicht.") CANCEL ELSE CLOSE_FILE 9 END_IF LINETYPE SOLID COLOR WHITE OPEN_INFILE 9 dateiname READ_FILE 9 zeile IF (zeile<>'END-OF-FILE') LET p (POS zeile ',') IF (p>0) LET l (LEN zeile) LET dummy (SUBSTR zeile 1 (p-1)) LET x1 (VAL dummy) LET dummy (SUBSTR zeile (p+1) l) LET y1 (VAL dummy) LET xanfang x1 LET yanfang y1 END_IF END_IF LOOP READ_FILE 9 zeile IF (zeile<>'END-OF-FILE') LET p (POS zeile ',') IF (p>0) LET l (LEN zeile) LET dummy (SUBSTR zeile 1 (p-1)) LET x2 (VAL dummy) LET dummy (SUBSTR zeile (p+1) l) LET y2 (VAL dummy) END_IF LINE (PNT_XY X1 Y1) (PNT_XY X2 Y2) END LET x1 x2 LET y1 y2 END_IF EXIT_IF (zeile='END-OF-FILE') END_LOOP LET xende x2 LET yende y2 CLOSE_FILE 9 POLYELEM (PNT_XY xanfang yanfang) (PNT_XY xanfang yanfang) (PNT_XY xende yende) END END_DEFINE
------------------ Homepage: www.me10-makros.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
r.hoffmann Mitglied Techniker
Beiträge: 128 Registriert: 07.12.2006 OSD 13.2 20.4
|
erstellt am: 21. Feb. 2017 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für MC
|
Roman Mitglied
Beiträge: 704 Registriert: 16.01.2001
|
erstellt am: 21. Feb. 2017 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für MC
|
Gerhard Deeg Ehrenmitglied V.I.P. h.c. i.R. Konstrukteur aus Leidenschaft
Beiträge: 2643 Registriert: 17.12.2000 CREO - OSD - OSM HP XW4400 - XW4600 Dell Inspiron 17E NVIDIA QUADRO FX1500 NVIDIA Quadro FX1800 HP Mini 210 2002sg WIN 7 Ultimate 32/64
|
erstellt am: 21. Feb. 2017 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, editiere bitte Deine Lisp und lösche den Text am Anfang raus und schau Dir meine TXT an. Am Ende bitte auch den Text bei Dir löschen und einfach end schreiben dann sollte es laufen. Deshalb habe ich auch geschrieben schau Dir meine Datei an. Danach auf Importieren, macro, Laden... und den Namen Deiner Datei eingeben und es muss laufen. Es muss, denn bei mir ist es gelaufen. Gruß Gerhard ------------------ Jeder erfüllte Wunsch ist ein Traum weniger. Träume sind die Sonnenstunden der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 21. Feb. 2017 14:14 <-- editieren / zitieren --> Unities abgeben:
Hallo Robert! Auch dir vielen Dank für die Unterstützung. Ich bin in Sachen ME10 und Drafting leider absoluter Neuling und muss/darf es normalerweise nicht benutzen. Daher meine Unwissenheit bzgl. Makros dafür. Auch mit deinem Makro bekomme ich die gleiche Fehlermeldung wie bei Gerhards Vorschlag. Liegt es an meiner Version 19? Muss ich das Makro als *.m oder *.mac speichern und dann wie von Gerhard beschrieben laden? So habe ich es zumindest versucht. Grüße, Michael ------------------ Avis matutina vermem capit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 704 Registriert: 16.01.2001 ME10 v20.4.1, Win10 SD v20.4.1, Win10 Windchill 12.02 Creo 8.0.2
|
erstellt am: 21. Feb. 2017 14:18 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo, wie du das Makro nennst ist egal. Wenn es eine Textdatei ist (das ist es in diesem Fall) kommt es darauf an unter welcher Oberfläche du arbeitest. Wenn es die "moderne" Fluent-Oberfläche ist, versuche es bitte mit dem oben angegebenen "Makro eingeben". Es funktioniert! Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MC Mitglied Dipl.Ing. Maschinenbau, Konstrukteur
Beiträge: 644 Registriert: 20.10.2000
|
erstellt am: 21. Feb. 2017 14:30 <-- editieren / zitieren --> Unities abgeben:
Hallo, nun hat es mit dem Laden geklappt, wunderbar! Mit dem neuen Layout (UI) habe ich einen weißen Hintergrund und Drafting zeichnet mir eine weiße Linie, daher konnte ich nichts sehen. Mit dem alten UI klappt es sehr gut - Klasse! Zu dem Makro von Robert noch eine Frage: Ich kann es laden, aber wie kann ich es aufrufen/starten, um damit einen Datensatz einzulesen? Im Modeling tauchen Makros dann in der Toolbox auf, aus der ich diese starten kann. Wie geht das denn im Drafting? Grüße, Michael ------------------ Avis matutina vermem capit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
r.hoffmann Mitglied Techniker
Beiträge: 128 Registriert: 07.12.2006 OSD 13.2 20.4
|
erstellt am: 21. Feb. 2017 19:56 <-- editieren / zitieren --> Unities abgeben: Nur für MC
Hallo Michael, zu der Farbe: nimm folgende Zeile LINETYPE SOLID COLOR WHITE aus der Datei heraus bzw. ändere den Wert WHITE in z.B. BLACK Da Du normalerweise nicht mit dem Drafting arbeitest, wirst Du das Einbinden des Ladens beim Start und Erstellen eines Menu-Eintrags wohl nicht machen können/dürfen. Der normale Ablauf ist dann: Datei -> Importieren -> Makro -> Laden (ASCII).. und die von Dir gespeicherte Datei wählen. Danach kannst Du das Makro starten, indem Du in der Befehlszeile eva_polygon gefolgt von RETURN eingibst. Dann wirst Du nach dem Dateinamen gefragt, in der die Koordinatenwerte (und NUR die) stehen. Nach dem Abarbeiten hast Du eine Polylinie, die den Vorteil hat, dass sie die ganzen Einzellinien zusammenfasst und z.B. beim Verschieben einfacher gehandhabt werden kann als die Lösung von Gerhard (hier hast Du bei Deinem Beispiel ca. 4000 Einzellinien. Hoffe, das dies hilfreich war. Gruß Robert
------------------ Homepage: www.me10-makros.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |