| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Mapkey funktioniert nicht (1264 / mal gelesen)
|
PeterMilsch Mitglied Konstrukteur
Beiträge: 39 Registriert: 30.03.2016 creo elements/pro 5.0 Sartup Tools 2013 Pro.File V8.3
|
erstellt am: 21. Apr. 2016 10:40 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich hätte mal wieder eine Frage. Und zwar habe ich die Beziehungen unserer Start prt's und asm's umgeschrieben, bzw. erweitert, damit in den Stücklisten die auf der Zeichnung und von Pro.File generiert werden, das gleiche drinnen steht. Da in den alten Teilen diese Beziehungen nicht vorhanden sind, muss der Konstrukteur leider aktuell immer von Hand erst die Beziehungen aus einem anderen Teil kopieren und in das Alte einfügen. Das wollte ich jetzt durch ein Mapkey vereinfachen. Ich habe die Mapkeys mit der Aufzeichnungsfunktion aufgenommen, mit einfacheren Texten, klappt es wunderbar, leider nur nicht mit dem was ich brauche. Weis jemand wo ich einen Fehler gemacht habe, weil mir wird auch keiner angezeigt. Hier ist erstmal was unter Regenerieren beim prt's drinnen stehen soll:
Zitat: GEWICHT=ceil(MP_MASS(""),3) /* MASSE=MP_MASS("") /* Uebergabe des Materialnamens an den Parameter MATERIAL (bei zugewiesenen Material) IF MATERIAL_PARAM("CONDITION")=="" IF MATERIAL_PARAM("SELECT_EN_NAME")==MATERIAL_PARAM("SELECT_DIN_NAME") MATERIAL=MATERIAL_PARAM("SELECT_EN_NAME") ELSE MATERIAL=MATERIAL_PARAM("SELECT_EN_NAME")+" ("+MATERIAL_PARAM("SELECT_DIN_NAME")+")" ENDIF ELSE MATERIAL=MATERIAL_PARAM("CONDITION") ENDIF
/* Übergabe des Materialnamens und Nummer an den Parameter WERKSTOFF fuer die Zeichnung IF MATERIAL==" " WERKSTOFF="" ELSE IF MATERIALNR=="" WERKSTOFF=MATERIAL ELSE WERKSTOFF=MATERIAL+"; ("+MATERIALNR+")" ENDIF ENDIF /* Uebergabe der Materialnummer an den Parameter MATERIALNR (bei zugewiesenen Material) MATERIALNR=MATERIAL_PARAM("SELECT_MATERIAL_NUMBER") /* Übergabe für die Stücklisteninfo IF HERSTELLER=="" IF NORM=="" IF ABMESSUNG=="" STK_INFO="" ELSE STK_INFO=ABMESSUNG ENDIF ELSE IF ABMESSUNG=="" STK_INFO=NORM ELSE STK_INFO=NORM+" - "+ABMESSUNG ENDIF ENDIF ELSE STK_INFO=HERSTELLER+" - "+HERSTELLERARTNR ENDIF
Und hier der Mapkey der mir generiert wurde:
Zitat: mapkey bp @MAPKEY_NAMEErstezt die Beziehungen im Part;\ mapkey(continued) @MAPKEY_LABELBeziehungen Part;~ Command `ProCmdMmRels` ;\ mapkey(continued) ~ Open `relation_dlg` `PrePostOM`;~ Close `relation_dlg` `PrePostOM`;\ mapkey(continued) ~ Select `relation_dlg` `PrePostOM`1 `PostRegen`;\ mapkey(continued) ~ Select `relation_dlg` `MenuBar1`1 `Edit`;\ mapkey(continued) ~ Close `relation_dlg` `MenuBar1`;~ Activate `relation_dlg` `PBSelectAll`;\ mapkey(continued) ~ Select `relation_dlg` `MenuBar1`1 `Edit`;\ mapkey(continued) ~ Close `relation_dlg` `MenuBar1`;~ Activate `relation_dlg` `PBDelete`;\ mapkey(continued) ~ Arm `relation_dlg` `RelText`;\ mapkey(continued) ~ Input `relation_dlg` `RelText`1 0 0 1 `GEWICHT=ceil(MP_MASS(\"\"),3)\n/* \ mapkey(continued) MASSE=MP_MASS(\"\")\n\n\n/* Uebergabe des Materialnamens an den Parameter \ mapkey(continued) MATERIAL (bei zugewiesenen Material)\nIF \ mapkey(continued) MATERIAL_PARAM(\"CONDITION\")==\"\"\nIF \ mapkey(continued) MATERIAL_PARAM(\"SELECT_EN_NAME\")==MATERIAL_PARAM(\"SELECT_DIN_NAME\")\nMAT\ mapkey(continued) ERIAL=MATERIAL_PARAM(\"SELECT_EN_NAME\")\nELSE\nMATERIAL=MATERIAL_PARAM(\"SE\ mapkey(continued) LECT_EN_NAME\")+\" \ mapkey(continued) (\"+MATERIAL_PARAM(\"SELECT_DIN_NAME\")+\")\"\nENDIF\nELSE\nMATERIAL=MATERIA\ mapkey(continued) L_PARAM(\"CONDITION\")\nENDIF\n\n/* Übergabe des Materialnamens und Nummer \ mapkey(continued) an den Parameter WERKSTOFF fuer die Zeichnung\nIF MATERIAL==\" \ mapkey(continued) \"\nWERKSTOFF=\"\"\nELSE\nIF \ mapkey(continued) MATERIALNR==\"\"\nWERKSTOFF=MATERIAL\nELSE\nWERKSTOFF=MATERIAL+\";\ mapkey(continued) (\"+MATERIALNR+\")\"\nENDIF\nENDIF\n\n/* Uebergabe der Materialnummer an \ mapkey(continued) den Parameter MATERIALNR (bei zugewiesenen \ mapkey(continued) Material)\nMATERIALNR=MATERIAL_PARAM(\"SELECT_MATERIAL_NUMBER\")\n\n/* \ mapkey(continued) Übergabe für die Stücklisteninfo\nIF HERSTELLER==\"\"\n IF NORM==\"\"\n IF \ mapkey(continued) ABMESSUNG==\"\"\n STK_INFO=\"\"\n ELSE\n STK_INFO=ABMESSUNG\n ENDIF\n EL\ mapkey(continued) SE\n IF ABMESSUNG==\"\"\n STK_INFO=NORM\n ELSE\n STK_INFO=NORM+\" - \ mapkey(continued) \"+ABMESSUNG\n ENDIF\n ENDIF\nELSE\nSTK_INFO=HERSTELLER+\" - \ mapkey(continued) \"+HERSTELLERARTNR\nENDIF`;~ Update `relation_dlg` `RelText`0 ;\ mapkey(continued) ~ Activate `relation_dlg` `PB_OK`;
Vielen Dank schonmal im Vorraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 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: 21. Apr. 2016 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für PeterMilsch
Das Ändern von Beziehungen über Mapkeys ist nicht unbedingt zu empfehlen. Hier kommt es zu Problemen, weil eben noch anderes Zeug in den Beziehungen stehen kann. Um Beziehungen in Teilen einigermaßen sinnvoll zu ergänzen, kann evtl. ModelCheck genutzt werden. Leider ist ModelCheck nicht ganz auf dem Stand der Technik. Es ist nämlich nicht möglich, Beziehungen im Reiter "nach Regenerierung" zu verändern. Aber Du brachst noch nicht verzweifeln. Es gibt nämlich seit einiger Zeit ein weiteres Tool, mit dem das sehr komfortabel erledigt werden kann. Schau Dir doch mal den Model Prozessor von INNEO an. ------------------ 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 Fragen • Nettiquette • Suchfunktion • System-Info • Pro/E-Konfig • 7er-Regel • Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magge84 Mitglied Dipl.-Ing. (Entwicklung)
Beiträge: 66 Registriert: 04.09.2008
|
erstellt am: 21. Apr. 2016 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für PeterMilsch
Es gibt ja die Möglichkeit die Beziehungen zu exportieren bzw. importieren!!! Ich würde zentral (auf einem Server, auf dem alle Zugriff haben) eine "Beziehungsdatei" erzeugen und diese dann per Mapkey importieren lassen. ------------------ Gruß, Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PeterMilsch Mitglied Konstrukteur
Beiträge: 39 Registriert: 30.03.2016 creo elements/pro 5.0 Sartup Tools 2013 Pro.File V8.3
|
erstellt am: 21. Apr. 2016 11:31 <-- editieren / zitieren --> Unities abgeben:
Hey, das waren ja schnelle Antworten, danke @U_Suess Ja damit es nicht zu problemen kommt, habe ich im Makro ein select_all und delete für die vorhandenen Beziehungen eingebaut, so das nur noch die neuen drinnen stehen. Wegen Inneo, wir nutzen katuell die Startup Tools 2013 bei uns, aber leider muss ich sagen das ich mit dem Support von Inneo aktuell absolut nicht zufrieden bin @magge84 Danke, daran hab ich noch gar nicht gedacht, das ist sogar noch besser als mein Plan, da wir sowieso alle einstellungen immer beim Starten von einem Server ziehen, da kann ich das sehr gut mit integrieren. Das muss ich nach der Pause gleich mal testen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 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: 21. Apr. 2016 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für PeterMilsch
|
PeterMilsch Mitglied Konstrukteur
Beiträge: 39 Registriert: 30.03.2016 creo elements/pro 5.0 Sartup Tools 2013 Pro.File V8.3
|
erstellt am: 21. Apr. 2016 14:56 <-- editieren / zitieren --> Unities abgeben:
Geometrie-steuernde Beziehungen sind bei uns laut Konstruktionsrichtlinien immer unter Ursprünglich einzutragen. Unter "nach Regenerierung" sollen einheitliche Beziehungen zum steuern von Parameterfeldern stehen, die uns informationen in der Zeichnungsstückliste, S-Tools und Profile eintragen oder auslesen. Sollte auls, bis auf ganz wenige Teile, kein Problem sein. Das mit dem Importieren hat sehr gut geklappt, danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
suilven Mitglied Dipl.-Ing (FH) Konstruktion
Beiträge: 234 Registriert: 06.02.2003
|
erstellt am: 22. Apr. 2016 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für PeterMilsch
Hallo, ich habe gute Erfahrungen mit dem Model Prozessor von INNEO gemacht, da kann man in Beziehungen nach bestimmten "Bausteinen" suchen und diese ersetzen oder löschen. Das schließt ein versehentliches Löschen von geometriesteuernden Beziehungen aus. Hannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |