| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Schriftfeldmakro (1302 mal gelesen)
|
takamine Mitglied CAD-Konstrukteur
Beiträge: 10 Registriert: 24.09.2002
|
erstellt am: 13. Nov. 2002 19:54 <-- editieren / zitieren --> Unities abgeben:
hallo wer kann uns helfen Wir erzeugen durch ein externes Programm (Access) ein Makro mit dem Namen (ff). Dieses ff holt sich die aktuellen Werte , wie Z.B. aktuelles Datum, Namen , Benennung ,neue Zeichnungsnummer zum ausfüllen unseres Schriftfeldes. Unser Makro soll also das durch Access erzeugte Makro (ff) in den Arbeitsspeicher einlesen und anschließend ausführen. Zur Zeit besteht das Problem , das die beiden Makro's Einlesen und Ausführen nicht Kompinierbar sind. DEFINE dd input 'c:\programme\cocreate\me10\macro_2d\ff' END_DEFINE (dd soll Arbeitsspeicher aktualisieren ) DEFINE ss auto_sfeld END_DEFINE (ss soll Daten an den Platz im Schriftfeld setzen) wenn wir diese beiden Makro's in eines zusamenführen dann wird der arbeitsspeicher nicht mehr aktualisiert . getrennt voneinander funktionieren die Makro's aber vielleicht hat von euch einer eine Lösung , wir wären sehr dankbar dafür .
viele Gruesse
Guenter ------------------ Guenter Reiss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
awi Mitglied Programmierer
Beiträge: 275 Registriert: 11.11.2001 awinformatik - individuallösungen rund um me10. - pc-steuerungen.
|
erstellt am: 13. Nov. 2002 23:13 <-- editieren / zitieren --> Unities abgeben: Nur für takamine
hallo guenter warum steuert ihr nicht me10 mit dde von accees aus. ist mit abstand die eleganteste lösung. ansonsten kannst du auch den macro-aufruf auto_sfeld in die letzte zeile von ff setzen. gruss aus finsterhennen ------------------ awi André Weidmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.annes Mitglied CAD-Pfriemler
Beiträge: 482 Registriert: 02.07.2001 ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx
|
erstellt am: 14. Nov. 2002 07:24 <-- editieren / zitieren --> Unities abgeben: Nur für takamine
Zitat: Original erstellt von takamine: hallo wer kann uns helfen... DEFINE dd input 'c:\programme\cocreate\me10\macro_2d\ff' END_DEFINE ... Guenter
Das Problem ist, daß der Befehl INPUT innerhalb eines Makros nicht unterstützt wird - zumindest war das noch vor ein paar Versionen so . Laut Handbuch müßte es aber funktionieren, wenn Du die Option IMMEDIATE verwendest, also: DEFINE Dd INPUT IMMEDIATE 'c:\programme\cocreate\me10\macro_2d\ff' END_DEFINE Gruß aus Österreich, Hannes
------------------ jo mei. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
baumgartner Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 14. Nov. 2002 09:08 <-- editieren / zitieren --> Unities abgeben: Nur für takamine
Zitat: Original erstellt von awi: ...warum steuert ihr nicht me10 mit dde von accees aus. ist mit abstand die eleganteste lösung...
die andere Möglichkeit ist es ME10-Makros zu schreiben die per DDE Daten aus Acess auslesen. Dann bleibst Du in der gewohnten ME10-Umgebung/ME10-Programmierung und kannst damit die ausgelesenen Daten gleich in die Zeichnung einfügen. Ich mache das ja bei der Kopplung von ME10 zu Compass/EDM-System genau so. Die Sache hat übrigens den Vorteil, dass Du vollkommen innerhalb von ME10 bleibst. Acess (in meinem Falls COMPASS) müssen lediglich im Hintergrund laufen. Kein Taskwechsel notwendig, es läuft einfach. Selbstverständlich musst Du die möglichen Fehlerquellen abfangen. (z.B. wenn Acess nicht läuft und ME10 den Zugriff versucht.) Eine Lösung für Dein Problem wäre wenn Du die Datei 'c:\programme\cocreate\me10\macro_2d\ff' etwas umgestaltest: z.B. DEFINE VON_ACESS_ERZEUGTES_MACRO LOCAL ... TEXT ... END_DEFINE (* in dieser Datei gleich den Aufruf dieses Makros veranlassen mit *) VON_ACESS_ERZEUGTES_MACRO (* -- Dateiende -- *) Die zweite Möglichkeit ist, wenn Du mit Acess nur die Werte in eine Datei schreibst. Diese kannst Du dann mit ME10 mittels OPEN_INFILE ... und READ_FILE auslesen, auswertern und in die Zeichnung eintragen. Du siehst also, es ist nicht hoffnungslos. Auch wenn ich der DDE-Lösung den Vorzug geben würde gibt es noch zwei Wege die zum Ziel führen.
------------------ Grüsse aus dem Schwarzwald www.Andreas-Baumgartner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
takamine Mitglied CAD-Konstrukteur
Beiträge: 10 Registriert: 24.09.2002
|
erstellt am: 15. Nov. 2002 12:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Herr Baumgartner, ihre erste Lösung hat sehr gut funktioniert . die zweite verstehe ich nicht ganz und mit der dde-Lösung kenne ich mich nicht aus . Gibt es hier Infomaterial ? Vielen Dank für Ihre Hilfe Mfg Guenter ------------------ Guenter Reiss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
takamine Mitglied CAD-Konstrukteur
Beiträge: 10 Registriert: 24.09.2002
|
erstellt am: 15. Nov. 2002 12:22 <-- editieren / zitieren --> Unities abgeben:
|
takamine Mitglied CAD-Konstrukteur
Beiträge: 10 Registriert: 24.09.2002
|
erstellt am: 15. Nov. 2002 12:24 <-- editieren / zitieren --> Unities abgeben:
|
baumgartner Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 15. Nov. 2002 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für takamine
hallo, (vielen Dank für die "Blumen" und die Unities) mit DDE können Windowsprogramme kommunizieren. ME10 bietet die notwendigen DDE-Befehle (siehe Hilfe, alle beginnen mit DDE_..) Auf www.me10.de gibt es noch ein Beispiel für den Datenaustausch zwischen ME10 und Excel. Näheres übersteigt die schnelle Info hier. Denke dass man dazu eine Schulung mit Beispielen machen sollte. Ich hätte dazu eine fertig vorbereitete Schulung. EDIT: ja in der zweiten Lösung würde Acess eine Datei anlegen mit den Daten, also nur den Daten, ohne Erklärung: 15.11.02 (Datum) Baumgartner (Ersteller) 08/15 (Nummer) usw.. Ein ME10-Makro könnte diese Datei dann auslesen. Die Befehle dazu würen OPEN_INFILE und READ_FILE. Ebenfalls in der Hilfe steht näheres dazu. Vielleicht findest Du ein Makro fürs Selbststudium. ------------------ Grüsse aus dem Schwarzwald www.Andreas-Baumgartner.de [Diese Nachricht wurde von baumgartner am 15. November 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
takamine Mitglied CAD-Konstrukteur
Beiträge: 10 Registriert: 24.09.2002
|
erstellt am: 28. Nov. 2002 12:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Herr Baumgartner, unser Schriftfeldmakro funktioniert tadellos, außer das nach Abschluß des Makros unser Textfarbe weiß ist , diese sollte jedoch rot sein . Was würden Sie an das Makro noch anhängen , damit die Farbe für den Text wieder auf Rot eingestellt ist ?? mfg guenter ------------------ Guenter Reiss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
baumgartner Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 28. Nov. 2002 12:28 <-- editieren / zitieren --> Unities abgeben: Nur für takamine
hallo, -funktioniert, aber nicht schön TEXT RED END -besser wäre zu Beginn des Makros inq_env ... let T_farbe (inq ...) am Ende des Makros dann TEXT T_farbe END Die INQ weiss ich jetzt gerade nicht auswendig. Aber schau ganz einfach selber in der Hilfe nach, ich muss es auch immer tun. Danke auc hfür die Unities! ------------------ Grüsse aus dem Schwarzwald www.Andreas-Baumgartner.de
[Diese Nachricht wurde von baumgartner am 28. November 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |