| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | Dassault PLM Integrationen mit der 3DViewStation, eine Pressemitteilung
|
Autor
|
Thema: Python will nicht so wie ich will (1026 mal gelesen)
|
vw-student Mitglied Berechnungsingenieur
  
 Beiträge: 543 Registriert: 07.06.2005 IDEAS 12m4 ABAQUS/CAE 6.10-1 ADAMS MD R3 Matlab R2007a Mathcad 14
|
erstellt am: 08. Jun. 2010 10:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebe Simulanten! Ich habe hier ein kleines Problem mit meinem Python-Skript, welches ich mir nicht erklären kann. Ich greife auf die odb zu und schreibe mir die Displacements in eine externe Textdatei. Gebe ich als Subset ('ALL NODES') an, funktioniert alles wunderbar. Mein Problem beginnt erst, wenn ich lediglich für ein bestimmtes Subset auslesen will. In meinem INP File habe ein NSET Test erstellt. Schaue ich mir nun die odb an, erhält dieses Set den Präfix PART-1-1.! Warum? Und wenn ich nun die Displacements für das Subset ('Test') bzw. ('PART-1-1.Test') rausschreiben will motzt Python rum!!! Wo liegt der Fehler?? Anbei die entscheidende Zeile des Skripts: Code: nodes = displacements.getSubset(region=odb.rootAssembly.nodeSets[' ALL NODES'])
FUNKTIONIERT!!!
Code: nodes = displacements.getSubset(region=odb.rootAssembly.nodeSets['PART-1-1.Test'])
FUNKTIONIERT NICHT!!!!Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HerrHansen Mitglied Dipl.-Ing.
 
 Beiträge: 257 Registriert: 03.12.2005 Abaqus/CAE 6.3 bis 6.12
|
erstellt am: 08. Jun. 2010 11:53 <-- editieren / zitieren --> Unities abgeben:          Nur für vw-student
Ich vermute mal, du hast das Set auf Assembly-Ebene definiert. Mit deinem Syntax versuchst du aber, aber die Part-Ebene zuzugreifen, wo dieses Set natürlich nicht existiert. Tippe doch einfach mal
Code: odb.rootAssembly.nodeSets[
in die CLI und "tabbe" dir dann die Vorschläge durch. Da siehst du dann genau den Syntax, den Python haben will.Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vw-student Mitglied Berechnungsingenieur
  
 Beiträge: 543 Registriert: 07.06.2005 IDEAS 12m4 ABAQUS/CAE 6.10-1 ADAMS MD R3 Matlab R2007a Mathcad 14
|
erstellt am: 08. Jun. 2010 13:38 <-- editieren / zitieren --> Unities abgeben:         
Erstmal vielen Dank. Leider ist es Python völlig egal, ob ich PART-1-1.Test oder nur Test eingebe. Ich arbeite nicht geometriebasiert, daher glaube ich, dass es weder Part noch Assembly Ebene gibt oder? Ich bin die Sache umgangen, indem ich im INP File die Displacements lediglich für mein NSET angefordert habe. Somit kann ich in PYthon auf das SET ALL NODES zugreifen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HerrHansen Mitglied Dipl.-Ing.
 
 Beiträge: 257 Registriert: 03.12.2005 Abaqus/CAE 6.3 bis 6.12
|
erstellt am: 08. Jun. 2010 16:00 <-- editieren / zitieren --> Unities abgeben:          Nur für vw-student
Zitat: Original erstellt von vw-student: daher glaube ich, dass es weder Part noch Assembly Ebene gibt oder?
Falsch geglaubt ;) . Auch wenn du ohne Part-Assembly-Strukur arbeitest (mit anderen Worten: das Modell also nicht mit CAE aufgebaut hast), hast du in der ODB trotzdem ein Bauteil "Part-1-1", nämlich die erste Instanz deines ersten Bauteils. Und da du in deinem Modell bloß ein Bauteil hast (nämlich deinen Elementhaufen), referenzieren sich alle Sets auf das Bauteil Part-1-1. Zitat: Original erstellt von vw-student: Ich bin die Sache umgangen, indem ich im INP File die Displacements lediglich für mein NSET angefordert habe
Wenn du damit leben kannst, ist es okay. Hast du mal probiert, deine Code-Zeile ins CLI vom CAE einzugeben und dann mit der Tab-Taste zu suchen? Es könnte nämlich auch sein, dass dein Set unter "Assembly_Part-1-1.Test" zu finden ist. Leider ist die Namenskonvention des Solvers an dieser Stelle nämlich nicht konsistent (das beste Beispiel hierfür ist *contact clearance, falls es jemanden interessiert). [Diese Nachricht wurde von HerrHansen am 08. Jun. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |