Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Allgemein
  If-Abfrage in Mapkey

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
  
Webcast: PTC | Tipps & Tricks - Creo Simulate
Autor Thema:  If-Abfrage in Mapkey (660 / mal gelesen)
t.boese
Mitglied
Konstrukteur


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

Beiträge: 15
Registriert: 26.01.2024

Creo 6
Inneo Tools V 5

erstellt am: 24. Apr. 2024 13:16    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 möchte in einem Mapkey Abfragen einbauen.

1. Abfrage
Wenn Material=XYZ dann mache dies, sonst dass.

2. Abfrage
Wenn Modell = part dann mach dass, sonst dass
Wenn Modell = asm dann mach dass, sonst dass

Ich habe das ganze mit den Genius Tools getestet:

Code:

~ if %curmod:MATERIAL%=="PETG"
~ Code
~ else
~ Code
~ endif

Hat jemand dazu eine Idee?

Besten Dank!

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

Hutmacher
Mitglied
Maschinenbautechniker


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

Beiträge: 78
Registriert: 25.08.2021

Creo8 8.0.9.0
Windchill 12
GeniusTools
StartupTools
ModelProzessor
Win10Pro
Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
32,0 GB RAM
NVIDIA Quadro P2200

erstellt am: 24. Apr. 2024 13:50    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 t.boese 10 Unities + Antwort hilfreich

Hallo,

hast Du Zufällig den ModelProcessor?
Da ist das ein Kinderspiel.

Gruß,
Andi

------------------
„Glaubst Du, ich habe den Verstand verloren?“ -
„Ich fürchte, ja. Du bist übergeschnappt,
hast eine Meise, bist nicht ganz bei Sinnen.
Aber weißt Du was? Das macht die Besten aus!“

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

t.boese
Mitglied
Konstrukteur


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

Beiträge: 15
Registriert: 26.01.2024

Creo 6
Inneo Tools V 5

erstellt am: 24. Apr. 2024 13:56    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

nein, leider nicht

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

astor
Mitglied
Senior Manager of myself, Vice President of my Desk


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

Beiträge: 106
Registriert: 20.06.2002

Creo Parametric 7.0.5

erstellt am: 24. Apr. 2024 15:04    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 t.boese 10 Unities + Antwort hilfreich

zu Abfrage 2:

Code:

/*---Mapkey----
IF rel_model_type()=="ASSEMBLY"
"mache das Eine"
ELSE
"mache das Andere"
ENDIF

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

t.boese
Mitglied
Konstrukteur


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

Beiträge: 15
Registriert: 26.01.2024

Creo 6
Inneo Tools V 5

erstellt am: 26. Apr. 2024 10:41    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

Danke, das funktioniert!

Zitat:
Original erstellt von astor:
zu Abfrage 2:

Code:

/*---Mapkey----
IF rel_model_type()=="ASSEMBLY"
"mache das Eine"
ELSE
"mache das Andere"
ENDIF


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

max lenz
Mitglied
Konstrukteur


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

Beiträge: 274
Registriert: 11.09.2017

Creo 7

erstellt am: 06. Mai. 2024 13:55    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 t.boese 10 Unities + Antwort hilfreich


001.PNG

 
Moin,
wie muss man denn die If Programmierung einbinden?
Wenn ich in den gespeicherten Mapkey eine If-Bedingen ergänze und diese wieder in die Config lade, lädt Creo den Mapkey nicht mehr richtig (siehe Bild)

Ziel ist, das beim Speichern einer Baugruppe unser Stücklisten-Tool einmal drüber läuft und bei Teilen und Zeichnungen einfach nur gespeichert wird.

Das wäre der Mapkey:

Code:

mapkey speichern @MAPKEY_NAMEBeim Speichern einer baugruppe wird \
mapkey(continued) automatisch das Stücklisten-Tool benutzt;@MAPKEY_LABELRES Speichern;\
IF rel_model_type()=="ASSEMBLY"
mapkey(continued) ~ Activate `main_dlg_cur` `user_custom_page_197510872_control_btn` 1;\
mapkey(continued) ~ Activate `main_dlg_cur` `user_custom_page_197510872:rh_stl`;\
mapkey(continued) ~ Activate `net_bom_position2_dlg` `OKPB`;
mapkey(continued) ~ Command `ProCmdModelSave`;
else
mapkey(continued) ~ Command `ProCmdModelSave`;
ENDIF


Erkennt jemand den Fehler?


Gruß
Max

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

astor
Mitglied
Senior Manager of myself, Vice President of my Desk


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

Beiträge: 106
Registriert: 20.06.2002

Creo Parametric 7.0.5

erstellt am: 06. Mai. 2024 15:27    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 t.boese 10 Unities + Antwort hilfreich

Ich würde nicht an dem Mapkey Code herumfummeln, wenn ich keine Ahnung habe, was ich da schreiben muss.

Vereinfachte fehlertolerante Vorgehensweise:

1. Du schreibst Dir die Beziehung im Bezieungseditor fertig und prüfst deren richtige Funktion
2. Du kopierts den kompletten Text der Beziehung in die Zwischenablage.
3. Mapkey neu aufzeichnen inkl. Tastatureingaben (alten Beziehungstext "Alles auswählen", "Alles Löschen" --> bitte über Menü im Beziehungseditor, weil Shortcuts teilweise andere Funktion haben)
Text aus Zwischenablage in Beziehungseditor einfügen
4. Beziehung verifizieren, Beziehungseditor beenden
5. Teil regenerieren und Speichern

Geändertes Mapkey in config.pro abspeichern und freuen, weil es funktioniert.

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

max lenz
Mitglied
Konstrukteur


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

Beiträge: 274
Registriert: 11.09.2017

Creo 7

erstellt am: 06. Mai. 2024 16:43    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 t.boese 10 Unities + Antwort hilfreich

Ich möchte keine Beziehung abändern. Ich bräuchte einen Mapkey der je nach dem ob es ein Teil bzw. Zeichnung ist oder eine Baugruppe sich anders ausführt.

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

U_Suess
Moderator
CAD-Admin / manchmal Konstrukteur




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

Beiträge: 10663
Registriert: 14.11.2001

CREO 8.0.9 (+Geniustool für Creo 10.0.1)
PDMLink 12.0.8
NTSI Contender E64 SC8 mit
NVIDIA Quadro P4000
Intel Core i7-10700KF / 3,80 GHz
64GB DDR4-RAM / 2933 MHz
Win 10 Prof. 64Bit (20H2)

erstellt am: 07. Mai. 2024 09:33    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 t.boese 10 Unities + Antwort hilfreich

Hallo Max,
Zitat:
Original erstellt von max lenz:
... Erkennt jemand den Fehler? ...
Ich hätte da eine Vermutung. Du unterbrichst das Mapkey mit der IF-Anweisung. Das versteht Creo nicht. Wenn Du so etwas machen möchtest, dann muss erst die IF-Anweisung kommen und das Mapkey muss komplett innerhalb des jeweiligen Zweiges der IF-Anweisung abgeschlossen sein. So meine Vermutung.

Ich werde es aber nicht ausprobieren, weil ich das nicht über Mapkeys machen würde. Dafür haben wir zum Glück den Model Prozessor (User), wo man direkt steuern kann, für welchen Datentyp die Aktionen durchgeführt werden können. 

------------------
Gruß
Udo              Keine Panik, Du arbeitest mit CREO (ehemals Pro/E)! Und Du hast cad.de gefunden!

Neu hier?     Verwundert über die Antworten?    Dann schnell nachfolgende Links durchlesen. 
Richtig FragenNettiquetteSuchfunktionSystem-InfoPro/E-Konfig7er-Regel      • Unities

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)2024 CAD.de | Impressum | Datenschutz