Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Makroaufruf innnerhalb eines Makros?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
  
Besichtigung der MAIT.Cloud in Frankfurt | 17.09.2025, eine Veranstaltung am 17.09.2025
Autor Thema:  Makroaufruf innnerhalb eines Makros? (1316 mal gelesen)
Roman
Mitglied



Sehen Sie sich das Profil von Roman an!   Senden Sie eine Private Message an Roman  Schreiben Sie einen Gästebucheintrag für Roman

Beiträge: 709
Registriert: 16.01.2001

erstellt am: 24. Okt. 2003 17:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich will eine Koordinatendatei aus einer Messmaschine in ME10 als Linienzug darstellen.
Mittels sed (unter HP-UX 11) kann ich auch prima aus der Messmaschinenausgabe eine ME10-konforme Makrodatei erstellen:
DEFINE LINIENZUG
LINE POLYGON
128.3636,277.7107                                                                                                         
138.3637,277.7187                                                                                                         
...
END
END_DEFINE
Wenn ich dieses Makro per INPUT von der Kommandozeile lade und "linienzug" ausführe ist alles i.O.

Wenn ich aber, innerhalb eines Makros (ich frage dort nach dem Dateinamen der Messdatendatei und setze den sed-Aufruf ab) diese
Datei per:
INPUT '/pfad/zu/makrodatei'
LINIENZUG
aufrufen will, kommt die Fehlermeldung:
"Makro Linienzug ist nicht definiert"

War da nicht was, das man Makros nicht "nachladen" kann? Ist das der Fehler?

Danke
Roman

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Roman
Mitglied



Sehen Sie sich das Profil von Roman an!   Senden Sie eine Private Message an Roman  Schreiben Sie einen Gästebucheintrag für Roman

Beiträge: 709
Registriert: 16.01.2001

ME10 v20.7.1, Win10
SD v20.7.1, Win10
Windchill 13.0.2.2
Creo 11.0.2

erstellt am: 24. Okt. 2003 18:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hat sich erledigt. Folgender genialer Codeschnippsel von Walter Geppert (gefunden im Archiv von www.me10.de) war des Rätsels Lösung.

Zitat:
Es gibt einen Workaround für diese Problem: Nach dem INPUT innerhalb eines DEFINE END_DEFINE-Blocks braucht man ein READ und in der zu ladenden Datei einen entsprechenden Dummy-Wert. Zu beachten ist, daß bei mehreren Dateien die Auswertung in der verkehrten Reihenfolge wie die INPUTs erfolgt. Der Dummy muß deshalb in der ersten Datei stehen.

Beispiel Lademakro:

LET Geladen 0
DEFINE Lademakro
IF (Geladen=0)
INPUT Makrodatei1
INPUT Makrodatei2
READ dummy
LET Geladen 1
END_IF
END_DEFINE

Beispiel Makrodatei1:

DEFINE xxx
...
...
...
END_DEFINE
0 {Dummy}

Beispiel Makrodatei2:

DEFINE yyy
...
...
...
END_DEFINE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

baumgartner
Mitglied
Dipl.-Ing. Maschinenbau


Sehen Sie sich das Profil von baumgartner an!   Senden Sie eine Private Message an baumgartner  Schreiben Sie einen Gästebucheintrag für baumgartner

Beiträge: 715
Registriert: 05.01.2001

Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10.
* ME10-Makros
* ME10-Makroschulungen

erstellt am: 24. Okt. 2003 18:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Roman 10 Unities + Antwort hilfreich

hallo,
so geht das einfach nicht, da der INPUT-Befehl nict sofort ausgeführt/beendet wird. So etwas würde nur klappen wenn ein verschlüsseltes Makro mittels LOAD_MACRO geladen würde und anschliessendem Start ausgeführt würde. Aber in dieser Konstellation geht das nicht. Und wie wäre es mit ....

DEFINE LINIENZUG
...
OPEN_INFILE 1 "datendatei"
POLYGON
LOOP
  READ_FILE 1 zeile
EXIT_IF (zeile = "END-OF-FILE")
  zeile
END_LOOP
CLOSE_FILE 1
END_DEFINE

und in der Datendatei würden dann nur noch die reinen Koordinaten stehen. Dann das Makro LINIENZUG mit STORE_MACRO linienzug in die Datei "linienzug.mc" schreiben. Jetzt klappt es mit dem Start aus einer Datei...

LOAD_MACRO "linienzug.mc"
LINIENZUG

Lese dazu auch mal in der Hilfe unter INPUT.

So wie immer ungetestet.
Viel Glück damit


------------------
Grüsse aus dem Schwarzwald  
www.Andreas-Baumgartner.de

Edit: bin ich soooo langsam heute? Bereits zum zweiten Male schreibt jemand eine Antwort während ich noch überlege...

[Diese Nachricht wurde von baumgartner am 24. Oktober 2003 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

H.annes
Mitglied
CAD-Pfriemler


Sehen Sie sich das Profil von H.annes an!   Senden Sie eine Private Message an H.annes  Schreiben Sie einen Gästebucheintrag für H.annes

Beiträge: 482
Registriert: 02.07.2001

OSDD 8.7 - 13.20 ; OSDM 13.00

erstellt am: 27. Okt. 2003 07:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Roman 10 Unities + Antwort hilfreich

Morgen!

Die schnellste Möglichkeit, das Ding zum Laufen zu bringen, ist:
  INPUT IMMEDIATE "datei"
statt
  INPUT "datei"
zu schreiben. Diese Möglichkeit gibts etwa ab Version 8.


Gruß aus Österreich,
  Hannes

------------------
undsedadnawosondasoisdeswossedan undwosondasdadnsa

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz