Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  ABAQUS Python ODB-Zugriff

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:  ABAQUS Python ODB-Zugriff (1189 mal gelesen)
stiner313
Mitglied


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

Beiträge: 4
Registriert: 04.02.2017

erstellt am: 04. Feb. 2017 17:05    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 Zusammen,

da ich mich beruflich mehr mit Abaqus beschäftigen muss, wollte ich mir für eine erleichterte Auswertung ein Python-Skript schreiben. Hier stehe ich nun vor einem Problem beim Einlesen der Steps, welche in der ODB definiert wurden.
Dies geht ja ganz einfach über eine For-Schleife:

for stepName in odb.steps.keys(): (usw.)

Ich möchte aber nun, dass in meiner Schleife nur aktivierte Steps berückschtigt werden und ich finde absolut nirgends einen Befehl, in der ich den Status eines Steps abfragen kann und ggf. über if/else nicht in die Auswertung mit einbeziehe. Die Steps lassen sich ja in Result -> Active Steps/Frames aktiveren/bzw. deaktivieren, was ja über den setValue-Befehl auch in Python geht. Ich habe aber auch schon probiert über:

odb.steps.values()

den Status (aktiv/inaktiv) herauszufinden, aber erfolglos. Ich komme hier wirklich nicht weiter. Gibt es jemanden, der einen entsprechenden Befehl kennt? Ich weiß, dass es geht, weil ich es in einem anderen Plugin schon mal gesehen habe, dass nur aktive Steps berücksichtigt werden. Ich finde aber einach nirgends den Befehl hierzu.

Irgendwie müssen doch inaktive Steps in einer Schleife ausgeschlossen werden können?

Wäre wirklich klasse, wenn mir hier jemand weiterhelfen könnte. Ich suche schon lange nach diesem Befehl und finde auch in der Dokumentation rein gar nichts darüber. Habe auch schon bei den Keywords gesucht ob es ein entsprechendes Attribut gibt für den Status usw. alles ohne Erfolg... 

Grüße
stiner313

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: 3554
Registriert: 04.08.2005

Abaqus

erstellt am: 05. Feb. 2017 13:38    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 stiner313 10 Unities + Antwort hilfreich

Wenn du weißt wie man den aktiven Step mit Python ändert, solltest du damit auch den aktuellen Zustand abfragen können.

Fang' den Befehl mal an und lass dir mit "print" die Unteroptionen ausgeben. So habe ich es ziemlich schnell gefunden.

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

stiner313
Mitglied


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

Beiträge: 4
Registriert: 04.02.2017

erstellt am: 05. Feb. 2017 14:23    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,

vielen Dank für deine Antwort. Was genau meinst du mit Unteroptionen über die print-Funktion?
Ich weiß nur dass ich bsp mit

For StepName in odb.steps.keys ():
    Print stepName

die Namen der steps ausgeben kann aber wie kann ich mir Unteroptionen eines Befehls ausgeben lassen?

Grüße,
stiner313

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: 3554
Registriert: 04.08.2005

Abaqus

erstellt am: 05. Feb. 2017 14:51    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 stiner313 10 Unities + Antwort hilfreich

Du vermischt da zwei verschiedene Dinge. Das was du machst ist die Daten über die CAE API auslesen. Dabei hast du Zugriff auf alle Steps und Frames, egal ob aktiv oder nicht.

Das Deaktivieren in der GUI ist eine Art Filter für den User und hat erstmal nichts mit dem Auslesen zu tun. Du kannst über die API den Filter ein/ausstellen oder abfragen. Danach musst du dann selbst regeln, welche Daten du dann auslesen willst.

Oder anders gesagt, ähnlich wie du den Filter einstellen kannst, kannst du ihn auch auslesen. Verarbeite das und lies dann die Ergebnisse bestimmter Steps und Frames aus.

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

stiner313
Mitglied


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

Beiträge: 4
Registriert: 04.02.2017

erstellt am: 05. Feb. 2017 15:53    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,

genau das habe ich bereits verstanden. Ich konnte nur nichts damit anfangen, was Sie mit Unteroptionen über print anzeigen gemeint haben?

Ich kann in der GUI den Filter aktivieren und analog in Python bsp. mit

session.odbData[odbName].steps['Step-1'].setValues(activateFrames=OFF, )

einen bestimmten Step deaktivieren.

Aber wie finde ich denn heraus wie ich den Filter abfrage? Da komme ich momentan nicht weiter. Es muss doch jetzt einen Befehl geben ähnlich dem aktiven deaktivieren/aktiveren welcher einer aktiven Statusabfrage entspricht. Sie meinten ja vorhin, dass das über das printen der Unteroptionen ginge (= Übersicht über mögliche Befehle?). Aber genau das verstehe ich nicht. Ich finde einfach keinen Befehl, in dem ich direkt auf den Filter der GUI zugreifen kann.

Grüße
stiner313

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: 3554
Registriert: 04.08.2005

Abaqus

erstellt am: 05. Feb. 2017 18: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 stiner313 10 Unities + Antwort hilfreich

Wie gesagt, fang von oben an und las dir die Unteroptionen ausgeben.

Wirf mal einen Blick auf dn Output davon:
print session.odbData[odbName]

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

stiner313
Mitglied


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

Beiträge: 4
Registriert: 04.02.2017

erstellt am: 05. Feb. 2017 20:07    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

Super genau das hab ich gesucht. Ist ja wirklich nur .activeFrames über die man dann eine einfache Anfrage machen kann. Vielen Dank für die Hilfe.

Thema ist somit erledigt

Grüße
stiner313

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