Beziehungen mit Mapkey ändern? / Pro ENGINEER
By TobiasLindauer 19. Juli 2002, 14:52

Hallo zusammen!

Ich sollte die Parameter von alten Teilen und Baugruppen updaten. Es kommt vor, dass gewisse Parameter früher vom Typ "YES/NO" waren und heute als "Zeichenketten" existieren sollten. Den einen Parameter (manuell) zu löschen und unter demselben Namen als Zeichenkette wieder zu erzeugen ist überhaupt kein Problem. Das könnte sogar ein Mapkey. Knifflig wird es dann, wenn ich noch IF Anweisungen geben möchte. So soll beim früheren Parameter-Wert "Yes" z.B. ein "Critical" als Wert für den neuen Paramter eingegeben werden... automatisch, da es sich um mehrere 100 Teile und Baugruppen handelt.

Ich bin der Meinung, dass es irgendwie möglich sein sollte, den Beziehungen eines Teils solche Anweisungen zu geben. Wenn man einen Mapkey aufzeichnet, werden die Aktionen die im Beziehungs-Editor gemacht werden nicht registriert.

Kennt sich jemand mit solchen Dingen aus?

By denc 19. Juli 2002, 14:57

Moin,

was Du probieren kannst ist das ganze über ein Trailfile zu lösen. Zumindestens das hinzufügen einer Beziehung ist kein Problem. Ändern einer vorhandenen Beziehung wird aber wahrscheinlich nicht funktionieren.

Gruß Ralf

By ble 19. Juli 2002, 15:39

Hallo Tobias,

Du kannst das ganze mit ModelCHECK versuchen. Dabei gibt es zumindest die Möglichkeit Parameter zu löschen und auch neue zu erzeugen. Das ganze kann dann auch im Batch Betrieb geschehen.
Allerdings bin ich mir nicht ganz sicher, ob Du die Möglichkeit hast einen Paramatertyp zu ändern.
Problematisch ist es sicherlich auch wenn sich der Parameterinhalt beim Ändern des Typs ändert.

Eine weitere Möglichkeit wären sicher auch noch Tools die Pro/E steuern. Zum Beispiel kannst Du mit Automation GATEWAY voll auf die Parameter zugreifen, d.h. Parameter löschen/erzeugen oder auch Parameterwerte ändern. Dabei besteht dann die Möglichkeit die existierenten Parameter abzunehmen und abhängig von den Parameterwerten nach bestimmten Regeln die neuen Parameter wieder zu belegen.

Gruss BLE

By TobiasLindauer 19. Juli 2002, 15:47

Ich habe noch zwei andere Ansätze, die ich aber nicht bis zur Lösung verwirklichen kann.

1. Es gibt die Möglichkeit, ein C Programm einzubinden. Da habe ich aber leider keine Ahnung, wie so etwas programmiert werden müsste...

2. Während man im Beziehungs-Editor arbeitet, existiert im Arbeitsverzeichnis eine Datei rel.ptd. Nach dem Editieren verschwindet sie wieder. Wenn man irgendwie ausfindig machen könnte, wie man auf diese Datei bzw. auf deren Inhalt auch in der übrigen Zeit zugreifen könnte, wäre das noch cool.

Das mit dem Trailfile werde ich mir Mal zu Gemüte führen. Danke!

By ble 19. Juli 2002, 15:48

Hallo Tobias,

ich glaube ich Deine Frage falsch verstanden.

Das Ändern von Beziehungen nach einem Regelwerk nicht möglich sein.

Tools die Pro/E steuern sollten das jedoch abkönnen, bei Automation GATEWAY geht es zumindest.

Gruss BLE

By TobiasLindauer 19. Juli 2002, 15:55

Hallo Ble!

Ja das mit dem Modelchecker ist noch ein guter Ansatz! Mal schauen, ob ich mir eine Lizenz ergattern kann... Dass der Modelchecker nicht für alle User zugänglich ist, ist bei unserer Firma eben ein politisches Problem. Gewisse Manager halten es nicht für nötig, in solch nützliche Tools Geld zu investieren ;-) Aber solche Probleme sind ja sicher auch bei euch an der Tagesordnung }:->

By Stahl 19. Juli 2002, 17:12

Hi!

Hmm, ich habe da drüber nachgedacht. Wenn ich dich richtig verstehe, hast du einen boolschen Parameter der auf YES oder NO stehen kann. Diesen Parameter nennen wir nun X. X soll nun vom Datentyp her umgewandelt werden in einen Stringparameter. Wenn YES eingestellt ist, soll automatisch der Eintrag "critical" als Wet zugewiesen werden... soso.

Wieso lasst ihr X nicht so wie er ist und macht nur einen neuen Parameter (zB: Z) der halt auf "critical" steht wenn X wahr ist? Aber na gut, wenn der Name X von Wichtigkeit ist, dann könnte man folgendes machen:

Also zuerst einmal, wenn man das mit einem Mapkey lösen will, müssen wir Parameter löschen, ändern und erzeugen. Ausserdem müssen wir Beziehungen erzeugen. Das geht mit den neuen Menüs in 2001 relativ schlecht.
Netterweise gibt es aber 2 config.pro Optionen, die die neuen Dialogboxen ausschalten. Die alten sind zwar nicht so ansehnlich, aber für Makros wie gesagt besser geeignet.
new_relation_ui  NO
new_parameter_ui NO

1.) Der erste Teil des Makros wäre also ein Nachladen einer config.pro, in der, die beiden Befehle drin stehen. Das ist sehr einfach, nicht? 
das entstandene Mapkey nennen wir m1.

2.) Bevor wir X löschen, speichern wir den Wert noch vorher in Y ab. Mapkey m2 aufzeichnen und folgendes klicken/tippen:
#Beziehungen;#Hinzufügen;
Y=X
#Fertig;#Regenerieren;

3.) Mapkey m3 aufzeichnen, das die eben entstandene Beziehung löscht, den Parameter X löscht und als Zeichenkettenparameter neu erzeugt. Wie gesagt, mit den alten Menüs müsste das recht gut gehen.

4.) Mapkey m4
#Beziehung;#Hinzufügen
IF Y==TRUE
  X="critical"
else
  X="non-critical"
endif
#Fertig;#Regenerieren;

5.) anschliessend Mapkey m5 aufzeichen, das die Beziehung und Y wieder löscht.

6.) die beiden Optionen kann man nun wieder auf YES setzen mit Hilfe einer nachzuladenden config.pro

7.) mapkey m0 %m1;%m2;%m3;%m4;%m5;%m6;


Mir fällt nur gerade während des Schreibens auf, dass das Löschen der Beziehung eventuell Probleme macht, das müsste man sich nochmal ansehen. Aber auch das ist sicher lösbar.

Stahl.

By giatsc 20. Juli 2002, 12:19

@ Stahl Stahlharter Beitrag; 10Points!

MODELCHECK kann dir sicher folgende Wünsche Lösen:

-Batchlauf
-If/then Option (für Parameteranalyse)
-Parameterlöschung (nach IF/THEN Kriterien)
-Parametererzeugung (nach IF/THEN Kriterien)

Parameter-Typ ändern ist IMHO nicht möglich, aber das brauchst du ja auch nicht, wenn du definierte Werte für den neuen Parameter hast (Critical / NON_Critical)...

Weitere Meinungen zu MODELCHECK
http://www.cad.de/foren/ubb/Forum12/HTML/001820.shtml

PS: In Foundation II (Upgrade kostet rel. wenig) sind MODELCHECK, MDX und zusätzliche Flächenoptionen enthalten.

siehe http://www.ptc.com/products/proe/foundation/index.htm.en

By TobiasLindauer 22. Juli 2002, 11:31

Hallo Stahl!

Vielen Dank für deine ausführliche Antwort! Ich bin sicher, dass der von dir beschriebene Weg der beste ist. Ich hatte gar nicht daran gedacht, dass man auch Beziehungen hinzufügen kann ohne dass man den Editor öffnet. Die Sache mit dem substituierten Mapkey ist dann noch eine 'daily business-Übung'. Jedoch bereitet mir das Löschen der Beziehungen (ohne Editor) ein wenig Mühe. Ich sehe das Vorgehen im Moment darin, die temporär existierende Datei rel.ptd mit einem Makro unter Windows zu bearbeiten und anschliessend wieder an Pro/E zu übergeben. Dann hätte der User neben dem Mapkey noch einen "Knopf" mehr, den er drücken muss (um das Makro auszulösen). Das wäre ihm noch KNAPP zuzumuten ;-)

Übrigens: Das mit den config.pro Einstellungen konnte ich weglassen, da wir noch mit 2000i2 arbeiten und diese Pro/E Version solche Dinge noch gar nicht kannte.

10 Punkte für deinen Beitrag!!

(c) 2003 www.CAD.de