| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Makro innerhalb eines Makros ausführen (1255 mal gelesen)
|
rusty_hh Mitglied
Beiträge: 31 Registriert: 11.01.2005 Pro/ENGINEER WF2 M110 Pro/INTRALINK 3.3 M021/M022 CoCreate ME10 12.01d
|
erstellt am: 04. Aug. 2006 07:27 <-- editieren / zitieren --> Unities abgeben:
Hallo ME10-User, möchte ein Makro innerhalb eines Makros ausführen, welches mir einen Wert berechnet und diesen in das zuerst gestartete Makro zurückgibt! Beispiel: Makro A wird gestartet und startet bei Zeile 20 (IF-Bedingung) Makro B. Makro B berechnet nun einen Wert und gibt ihn an Makro A zurück. Mit diesem Wert soll nun Makro A in Zeile 20 weiterarbeiten. Ist dies überhaupt möglich, wenn ja wie? Bin für jede sinnvolle Lösung dankbar. Gruß rusty
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 04. Aug. 2006 07:45 <-- editieren / zitieren --> Unities abgeben: Nur für rusty_hh
Hallo rusty, sicher geht das! Beispiel: DEFINE A LOCAL E READ NUMBER 'Eingabe Zahl' E IF (E>10) LET E (B E) END_IF DISPLAY E END_DEFINE DEFINE B PARAMETER E E/2 END_DEFINE Viel Erfolg!
------------------ Gruß Wilfried Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rusty_hh Mitglied
Beiträge: 31 Registriert: 11.01.2005 Pro/ENGINEER WF2 M110 Pro/INTRALINK 3.3 M021/M022 CoCreate ME10 12.01d
|
erstellt am: 04. Aug. 2006 11:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried, besten Dank für die schnelle und korrekte Ausführung. Hätte jedoch erwähnen sollen, dass ich keine Zahl im Makro berechnen, sondern einen Text (READ STRING ....LET ....) über das Makro B verändern möchte. Irgendwelche Lösungen, da ich dein Makro mit einer Abfrage des STRINGS nicht zum laufen bekomme? Mit bestem Dank im Voraus Rusty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 04. Aug. 2006 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für rusty_hh
|
rusty_hh Mitglied
Beiträge: 31 Registriert: 11.01.2005 Pro/ENGINEER WF2 M110 Pro/INTRALINK 3.3 M021/M022 CoCreate ME10 12.01d
|
erstellt am: 04. Aug. 2006 12:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried, mein Makro sieht im Aufbau wie folgt aus: DEFINE MAKRO_A LOCAL FARBE READ STRING "Bitte Farbe eingeben!" FARBE IF (FARBE = 'RGB') LET FARBE (MAKRO_B FARBE) DISPLAY FARBE ELSE DISPLAY "nicht RGB-Farbe!" END_IF END_DEFINE {===============================================================} DEFINE MAKRO_B PARAMETER FARBE LOCAL RGB_FARBE READ QUALIFIER "RGB-Farbtyp einstellen und 'BESTØT'!" RGB_FARBE INQ_ENV 3 LET RGB_FARBE (INQ 201) LET FARBE RGB_FARBE END_DEFINE
Danke Rusty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 04. Aug. 2006 12:29 <-- editieren / zitieren --> Unities abgeben: Nur für rusty_hh
Hallo rusty. also deine Makros haben 2 Fehler: - in Makro_b darf keine Eingabe erfolgen - RGB_COLOR ist eine FUNCTION und kein QUALIFIER Mir ist immer noch nicht klar, was du machen willst. Die Farbe von etwas einstellen? Würde dir gern helfen, da ich mich programmieren in ME10 gut auskenne. ------------------ Gruß Wilfried Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rusty_hh Mitglied
Beiträge: 31 Registriert: 11.01.2005 Pro/ENGINEER WF2 M110 Pro/INTRALINK 3.3 M021/M022 CoCreate ME10 12.01d
|
erstellt am: 07. Aug. 2006 07:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried, ich möchte mit dem Makro folgendes erzeugen: Nachfrage, welche Linenfarbe und welchen Linientyp ein beliebig ausgewählter Linientyp in einer bestimmten Farbe zugeordnet werden soll. Mein Problem besteht darin, dass ich bei der Auswahl der Farbe zweigleisig fahren muss (Standardfarbe zu RGB). Um die Auswahl des Linientyps brauchst Du dich nicht zu kümmern, da dies für mich auch kein Problem darstellt. Im Anhang habe ich noch den unvollständigen Entwurf meines Makros (ohne Linienzuordnung)! Besten Dank nochmals Rusty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 07. Aug. 2006 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für rusty_hh
Hallo rusty, wenn ich das richtig verstehe willst du eine beliebige Linie mit beliebiger Farbe anwählen und dann diesem Linientyp eine beliebige Farbe zuordnen? ------------------ Gruß Wilfried Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rusty_hh Mitglied
Beiträge: 31 Registriert: 11.01.2005 Pro/ENGINEER WF2 M110 Pro/INTRALINK 3.3 M021/M022 CoCreate ME10 12.01d
|
erstellt am: 07. Aug. 2006 13:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried, genau das ist es, was ich will! Möchte hier allerdings Standard-, sowie RGB-Farben in meiner Auswahl angezeigt bekommen, welche ich bestätigen und somit zurückgeben kann. Gruß Rusty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 07. Aug. 2006 20:00 <-- editieren / zitieren --> Unities abgeben: Nur für rusty_hh
Hallo rusty, das verstehe ich nun wieder nicht. Was willst du denn bestätigen? Die Farbauswahl? Da brauchst du doch nur den Eingelesenen Wert ín das PROMPT übernehmen. Beispiel: DEFINE Farbtest READ FUNCTION "Farbe eingeben" default BLACK RGB_FARBE READ QUALIFIER PROMPT ("Farbe "+STR RGB_FARBE+" übernehmen, BESTÄTIGEN") Rc IF (Rc=CONFIRM) DISPLAY 'Jetzt' END_IF END_DEFINE ------------------ Gruß Wilfried Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rusty_hh Mitglied
Beiträge: 31 Registriert: 11.01.2005 Pro/ENGINEER WF2 M110 Pro/INTRALINK 3.3 M021/M022 CoCreate ME10 12.01d
|
erstellt am: 08. Aug. 2006 08:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Wilfried, tut mir leid wenn ich mein Problem nicht richtig rübergebracht habe. Versuchs einfach nochmal: Möchte innerhalb einer IF-Bedingung eine optisch dargestellte RGB-Farbauswahl (Sm_color_rgb) treffen, und den damit ermittelten RGB-Wert zurückgeben. Dies sollte in dem Makro, welches ich dir gesendet habe an folgender Stelle kommen: => Makroaufruf mit "farbumstellung" => nach Aufforderung "RGB-Farben" im Popup-Fenster auswählen. Ausserdem mache ich wahrscheinlich auch einen Fehler mit deinem zuletzt geposteten Makro, weil dieses bei mir grundsätzlich die Meldung "Makro Rgb_farbe ist nicht definiert" ausgibt! Vielen Dank für deine Geduld Rusty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fan-ME10 Mitglied DV-Adminstrator, Konstrukteur
Beiträge: 543 Registriert: 21.08.2001 Erare humanum est
|
erstellt am: 10. Aug. 2006 12:53 <-- editieren / zitieren --> Unities abgeben: Nur für rusty_hh
Hallo rusty, wenn ich das recht verstanden habe ist die Antwort: READ PNT 'Element anwählen' P INQ_ELEM P LET Farbe (INQ 201) LET Rotanteil (X_OF Farbe) LET Gruenanteil (Y_OF Farbe) LET Blauanteil (Z_OF Farbe)
------------------ Gruß Wilfried Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |