Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Python Script - Import von bestehendem Modell

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
Autor Thema:   Python Script - Import von bestehendem Modell (938 mal gelesen)
RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 12. Apr. 2018 14:31    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 Leute,

gibt es einen Befehl, mit dem man ein bereits fast vollständiges  Simulationsmodell in das Script laden kann? Irgendwas mit LoadFile(), ImportFile() oder so ähnlich?

Vielleicht kann mir ja jemand helfen oder einen guten Tipp geben wo ich weiter suchen kann. 

MfG
Robert

Edit: Am besten beschreibe ich mal genauer was ich vorhabe:

Mein Ziel ist es, ein komplettes Simulationsmodell in der GUI zu erstellen, aber dabei per Python-Script die Werkstoffkennwerte aus einer Tabelle anpassen zu können und den Simulationsjob ablaufen zu lassen. Die Ergebnisdaten sollen dann wieder in eine Tabelle geschrieben werden.

Ich habe hier das Buch "Python Scripts for Abaqus" vor mir liegen, das hilft mir allerdings nur bedingt weiter, da in diesem Buch immer nur Schritt für Schritt ein Modell vollständig scriptbasiert aufgebaut wird. Ich möchte nun aber das Modell in der GUI aufbauen, das Modell in das Script laden, um dann parametrische Änderungen vornehmen zu können.

Das muss doch irgendwie möglich sein...

[Diese Nachricht wurde von RobertoL am 12. Apr. 2018 editiert.]

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3357
Registriert: 04.08.2005

Abaqus

erstellt am: 12. Apr. 2018 14:47    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 RobertoL 10 Unities + Antwort hilfreich

Der Gedanke "das Modell in das Script laden" ist seltsam. So läuft das nicht.

Wenn du das Modell in der GUI hast, dann kannst du mit einem Script Dinge am Modell ändern, die Berechnung auslösen, Ergebnisse auswerten, wieder Dinge am Modell ändern, etc.

Im Prinzip kannst du auf fast alles am Modell zugreifen, ebenso auf Funktionen von A/CAE und damit beliebige Dinge tun.

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

RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 12. Apr. 2018 15:01    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

Ah, ok. Ich arbeite parallel noch mit einer anderen Software, die ich per Python "fernsteuern" möchte und dabei muss ich dem Skript erst genau sagen auf welche Datei/welches Modell Python zugreifen soll.

Also sähe mein Weg so aus, das Modell fertig zu stellen, um dann im Nachhinein per Script die Werkstoffkennwerte zu erstellen, den einzelnen Parts die Werkstoffe zuzuweisen, die Simulation zu starten und zum Schluss die Ergebnisdaten zu speichern, oder?

[Diese Nachricht wurde von RobertoL am 12. Apr. 2018 editiert.]

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3357
Registriert: 04.08.2005

Abaqus

erstellt am: 12. Apr. 2018 15:15    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 RobertoL 10 Unities + Antwort hilfreich

Jupp, das wäre möglich.

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

RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 12. Apr. 2018 15:40    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

Alles klar.

Ich arbeite das erste mal mit Abaqus, deswegen muss ich mich erstmal in den Berich der Thermosimulation einarbeiten. Eigentlich bin ich auch komplett neu in der generellen Thematik "FEM-Simulation", sodass sich wahrscheinlich noch weitere Fragen ergeben werden.  

Wird schon...

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

Mefh
Mitglied



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

Beiträge: 34
Registriert: 04.03.2015

erstellt am: 13. Apr. 2018 07: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 Nur für RobertoL 10 Unities + Antwort hilfreich

Nur um mal die Frage zu beantworten:

mit dem Befehl
openMdb( pathName = 'deinModell') kann man das Modell deinModell.cae per Python einladen.

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

RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 13. Apr. 2018 09:34    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

Ok, jetzt muss ich aber nochmal ganz doof fragen:

Wieso gibt es diesen Befehl, wenn Python mit Abaqus von selber erkennt welches Modell ich bearbeiten möchte? Kannst du mir ganz kurz und einfach erklären was ich mit dieser Funktion zusätzlich erreichen kann?

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3357
Registriert: 04.08.2005

Abaqus

erstellt am: 13. Apr. 2018 10: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 RobertoL 10 Unities + Antwort hilfreich

Mit dem Befehl sagst du dem Kernel von A/CAE, auf welche Datei zugegriffen werden soll. Ähnlich wie du es nach dem Start von A/CAE in der GUI auch machst.

Da in einer CAE-Datei mehrere Modell liegen können, kannst du danach auf ein Modell darin zugreifen (z.B. Model-1). Dann z.B. auf die Parts oder Materialien in dem Modell. Oder alles was sonst noch darin existiert. Oder CAE-Funktionen aufrufen um etwas zu ändern oder neu zu definieren.

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

RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 13. Apr. 2018 11:21    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

Achso, da ich aber eh nur ein Modell habe, werde ich diesen Befehl vmtl. nicht brauchen?

Gibt es irgendwo eine Quelle aller Script-Befehle inkl. Erklärung für Abaqus? Dein letzter Absatz klingt so, als gäbe es viele ähnliche, aber im Detail doch unterschiedliche Funktionen.

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

Mefh
Mitglied



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

Beiträge: 34
Registriert: 04.03.2015

erstellt am: 13. Apr. 2018 11:24    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 RobertoL 10 Unities + Antwort hilfreich

wir erstellen ein komplexes Modell (Geometrie, Vernetzung etc.) mit der GUI und speichern die ab.

Dann können wir Variationsberechnung (Materialkennwerte, Anfangsbedingungen, Lasten) über Python steuern. Dazu brauchen wir die GUI aber nicht mehr, sondern können die Berechnung in den Hintergrund legen. Alternativ verwenden wir z.B. Matlab für Optimierungsaufgaben. In beiden Fällen muss das Python -Skript aber das Modell einlesen.

Wenn ich Dein Problem richtig verstanden habe, entspricht das unserem.

Wir benutzen immer die Online-Hilfe. Ist bei uns auf dem Rechner installiert. Es gibt aber auch im WWW welche.
den Menupunkt: Abaqus Scripting Reference Guide

[Diese Nachricht wurde von Mefh am 13. Apr. 2018 editiert.]

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

RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 13. Apr. 2018 11: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

Zitat:
Original erstellt von Mefh:
In beiden Fällen muss das Python -Skript aber das Modell einlesen.

Ehrlich gesagt verstehe ich das jetzt wieder so, als dass ich das (mit drei Parte sehr einfache) Modell doch einlesen muss. Ich habe gestern mal zum Test ein Material erstellt und das wurde ganz schnell mit einem Zweizeiler ohne irgendwelche Bezüge in das Modell integriert.

[Diese Nachricht wurde von RobertoL am 13. Apr. 2018 editiert.]

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

Mefh
Mitglied



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

Beiträge: 34
Registriert: 04.03.2015

erstellt am: 13. Apr. 2018 12: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 RobertoL 10 Unities + Antwort hilfreich

Wenn Du ein Modell mit der GUI geöffnet hast, kannst Du vorgefertigtes über Python-Skripts integrieren.

Schreibst Du nun an den Beginn des Pythons den Befehl openMdb(...), brauchst Du Dein Modell nicht mehr händisch öffnen.

Da wir die Berechnung ohne GUI automatisiert durchführen wollen, verwenden wir eben immer openMdb(...).

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3357
Registriert: 04.08.2005

Abaqus

erstellt am: 13. Apr. 2018 12:10    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 RobertoL 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von RobertoL:
Achso, da ich aber eh nur ein Modell habe, werde ich diesen Befehl vmtl. nicht brauchen?

Du musst am Anfang immer auch eine Datei und ein Modell referenzieren. Das kann man aber unter einer Variable ablegen und diese dann einfach verwenden.
Wenn die GUI manuell gestartet und die Datei selbst gewählt wurde, dann ist es nicht notwendig. Dann startet im Prinzip alles mit der Referenz auf ein Model.

Zitat:

Gibt es irgendwo eine Quelle aller Script-Befehle inkl. Erklärung für Abaqus? Dein letzter Absatz klingt so, als gäbe es viele ähnliche, aber im Detail doch unterschiedliche Funktionen.

Im Handbuch gibt es zwei Bereiche für Python Scripting. Das normale Scripting Manual führt in das Thema ein und zeigt Beispiele. Das Scripting Reference Manual hingegen ist eine Sammlung aller Abaqus-spezifischen Python-Befehle. Letzteres braucht aber nicht so oft, da man die gewünschte Aktion einfach in der GUI durchführen und sich dann den entsprechenden Python-Befehl aus der .rpy-Datei nehmen kann.

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

RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 13. Apr. 2018 12:32    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

Ich muss hier erst mal ein großes DANKE aussprechen! Das ganze ist Teil meiner Bachelorarbeit und ohne euch hätte ich wahrscheinlich noch lange krampfhaft versucht das Modell in das Script einzulesen.

Da ich das Modell ruhig manuell starten kann, werde ich wahrscheinlich auf das einlesen verzichten. Oder ich mache es ganz elegant, überrasche meinen Betreuer und benutze es doch... Mal gucken. Auf jeden Fall habe ich jetzt einen Weg aufgezeigt bekommen.

Zitat:
Original erstellt von Mustaine:
Letzteres braucht aber nicht so oft, da man die gewünschte Aktion einfach in der GUI durchführen und sich dann den entsprechenden Python-Befehl aus der .rpy-Datei nehmen kann.

Die .rpy-Datei... das ist die Report-Datei die nach der erfolgten Simulation erstellt wird, oder? Oder kann man die auch schon vorher aufrufen?

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3357
Registriert: 04.08.2005

Abaqus

erstellt am: 13. Apr. 2018 13:40    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 RobertoL 10 Unities + Antwort hilfreich

Nein. Die .rpy-Datei wird bei jedem Start von A/CAE erstellt. Sie liegt im Arbeitsverzeichnis der aktuellen CAE-Session. Darin werden dann die GUI-Aktionen im Python-Syntax mitprotokoliert. Da es eine ASCII-Datei ist, kannst du sie mit einem Editor öffnen und Befehle 'rauskopieren.

Alternativ kann man auch ein Makro aufzeichnen und sich dann dessen Befehle anschauen.

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

RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 13. Apr. 2018 15:20    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

Ok, ich werde das nächste Woche mal ausprobieren. Eine kurze frage habe ich noch: Muss man verschiedene Befehle beachten, wenn man ein Material erstellen und/oder anpassen möchte?

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3357
Registriert: 04.08.2005

Abaqus

erstellt am: 13. Apr. 2018 16:06    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 RobertoL 10 Unities + Antwort hilfreich

Erstelle ein Material in der GUI und schaue in die .rpy-Datei. Dann ändere das Material und schau wieder in die .rpy-Datei.

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

RobertoL
Mitglied
Student


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

Beiträge: 41
Registriert: 12.04.2018

erstellt am: 13. Apr. 2018 16:25    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

Trick 17.

Vielen Dank!

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