Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Abaqus Isight Postprocessing with Python

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 Isight Postprocessing with Python (391 mal gelesen)
samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 04. Jul. 2018 15:08    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,

ich habe wieder einmal eine Frage zu Isight in Verbindung mit Abaqus - das Manual ist ja nun wirklich sehr bescheiden muss ich sagen.


Ich lese bei meinem output ein python script mit ein, welches nach jeder Schleife zusätzliche Parameter auslesen soll. (userscript_odb.py)

Die Frage, die ich mir jetzt stelle ist, wie ich die ausgelesenen Werte wieder in isight herein bekomme  
Muss ich die mit dem Skipt wieder in eine Textdatei schreiben und dann über den fast-parser einlesen? Das Manual wie gesagt ist da nicht ganz eindeutig.

edit: über den Data Exchanger habe ich jetzt ein user_params.txt file eingelesen. Die Simulationen laufen auch durch nur werden leider die werte dort nicht aktualisiert

Beste Grüße

[Diese Nachricht wurde von samson05 am 04. Jul. 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: 3216
Registriert: 04.08.2005

Abaqus

erstellt am: 04. Jul. 2018 17:08    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 samson05 10 Unities + Antwort hilfreich

Isight kann nicht wissen was für Variablen und Werte du in deinem Skript zur Laufzeit hast, insofern gibt es keinen anderen Weg als über eine Textdatei und den Parser zu gehen.

[Diese Nachricht wurde von Mustaine am 04. Jul. 2018 editiert.]

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 04. Jul. 2018 17:12    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


isightDATAEX.JPG

 
Das habe ich mittlerweile eingebaut. Aber muss ich nach dem einlesen in den Data Exchanger noch irgendwo etwas ändern? Oder muss ich dem userscript die Variable sich automatisch mit verändern, so dass ich immer das aktuelle odb öffne so wie es schlussendlich auch abgespeichert wird?

Auf dem Bild ist der DataExchanger nur übergangsweise ausgeschaltet, muss natürlich eingeschaltet sein

[Diese Nachricht wurde von samson05 am 04. Jul. 2018 editiert.]

[Diese Nachricht wurde von samson05 am 04. Jul. 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: 3216
Registriert: 04.08.2005

Abaqus

erstellt am: 04. Jul. 2018 17:27    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 samson05 10 Unities + Antwort hilfreich

Ich bin mir nicht sicher, ob ich die Frage richtig verstehe. Wenn sich der Name der odb in jedem Durchlauf ändert, dann muss du das dem Skript natürlich mitteilen. Entweder in dem du das Skript mit dem Parser vorher anpasst oder beim Aufruf des Skriptes mit einem entsprechendem Parameter.
Aber eigentlich kann man in Isight dafür sorgen, dass die neuen Dateien immer dieselben Namen haben, so dass das nicht notwendig ist.

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 05. Jul. 2018 09: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


isight2.JPG

 
Guten Morgen zusammen,
unten habe ich einen Teil aus dem Script angefügt. Berechnet nur das Volumen des Körpers und schreibt es in das .txt-File.
Wenn ich in isight jetzt die Größe des Körpers variiere müsste sich ja auch das Volumen verändern und als Output angezeigt werden.

Wird es aber leider nicht, sondern es kommt in jedem Schritt das gleiche Volumen heraus. Hier findet komischerweise kein update statt.

Im Data Exchanger habe ich lediglich das user_params.txt-File eingelesen und die Parameter definiert aber die Werte werden nicht geupdated. Liegt das an meinem Script oder an meinen Einstellungen in iSight?

Es müssen auch alle .odb-Files gespeichert werden, was auch funktioniert.

Code:

from  odbAccess import openOdb

from abaqusConstants import *
import __main__
import operator
from odbAccess import *
#
# S T A R T

odbname = 'Dreieckwabe'

paramsFile = open ('user_params.txt','w')
##############################################################################
#Bestimmung des vollvolumigen Körpers       
       
C_P0 = odb.rootAssembly.nodeSets['P0']
P0 = odb.steps['BendingStiffness'].frames[0].fieldOutputs['COORD'].getSubset(region=C_P0).values[0].data
C_P1 = odb.rootAssembly.nodeSets['P1']
P1 = odb.steps['BendingStiffness'].frames[0].fieldOutputs['COORD'].getSubset(region=C_P1).values[0].data
C_P2 = odb.rootAssembly.nodeSets['P2']
P2 = odb.steps['BendingStiffness'].frames[0].fieldOutputs['COORD'].getSubset(region=C_P2).values[0].data
C_P3 = odb.rootAssembly.nodeSets['P3']
P3 = odb.steps['BendingStiffness'].frames[0].fieldOutputs['COORD'].getSubset(region=C_P3).values[0].data

x = abs(P1[0] - P0[0])
y = abs(P2[1] - P0[1])
z = abs(P3[2] - P0[2])

Volume_Voll_qmm = x*y*z

print Volume_Voll_qmm
##############################################################################
paramsFile.write('VolumeVoll =' + str(Volume_Voll_qmm)+'\n')

#close params file
#paramsFile.close()


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

Abaqus

erstellt am: 06. Jul. 2018 11:57    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 samson05 10 Unities + Antwort hilfreich

Dein Skript sieht mir nicht lauffähig aus. An welcher Stelle wird die .odb geöffnet?

Ich sehe auch nicht wo der Parameter 'odb' definiert ist, der hier verwendet wird:
C_P0 = odb.rootAssembly.nodeSets['P0']

Ich habe den Verdacht, dass du immer wieder dieselben Daten aus dem Cache ziehst.

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

Abaqus

erstellt am: 06. Jul. 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 samson05 10 Unities + Antwort hilfreich

Und noch viel wichtiger: Mit welcher Isight-Komponente rufst du das Skript überhaupt auf? Ich sehe da nichts in deinem Workflow.

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 06. Jul. 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

Zitat:
Original erstellt von Mustaine:
Und noch viel wichtiger: Mit welcher Isight-Komponente rufst du das Skript überhaupt auf? Ich sehe da nichts in deinem Workflow.

Hallo, das Skript wird eigentlich automatisch aufgerufen so wie ich das verstanden habe nach jedem Durchlauf. Es ist aus userscript_odb.py in dem Arbeitsordner abgelegt und beim einlesen der .odb in dem Abaqus modul in isight habe ich "use custom script" angeklickt. Ist das nicht korrekt?


Bei dem script ist mir tatsächlich ein Fehler beim kopieren unterlaufen. Habe nur einen Teil kopiert.

Es fehlte:

Code:

path = './'
myodbpath = path + odbname + '.odb'
odb = openOdb(myodbpath)

Also:

Code:

from  odbAccess import openOdb
#from abaqus import *
from abaqusConstants import *
import __main__
import operator
from odbAccess import *
#
# S T A R T
odbname = 'Dreieckwabe'

paramsFile = open ('user_params.txt','w')

path = './'
myodbpath = path + odbname + '.odb'
odb = openOdb(myodbpath)


#Bestimmung des vollvolumigen Körpers       
       
C_P0 = odb.rootAssembly.nodeSets['P0']
P0 = odb.steps['BendingStiffness'].frames[0].fieldOutputs['COORD'].getSubset(region=C_P0).values[0].data
C_P1 = odb.rootAssembly.nodeSets['P1']
P1 = odb.steps['BendingStiffness'].frames[0].fieldOutputs['COORD'].getSubset(region=C_P1).values[0].data
C_P2 = odb.rootAssembly.nodeSets['P2']
P2 = odb.steps['BendingStiffness'].frames[0].fieldOutputs['COORD'].getSubset(region=C_P2).values[0].data
C_P3 = odb.rootAssembly.nodeSets['P3']
P3 = odb.steps['BendingStiffness'].frames[0].fieldOutputs['COORD'].getSubset(region=C_P3).values[0].data

x = abs(P1[0] - P0[0])
y = abs(P2[1] - P0[1])
z = abs(P3[2] - P0[2])

Volume_Voll_qmm = x*y*z

print Volume_Voll_qmm
##############################################################################
paramsFile.write('VolumeVoll =' + str(Volume_Voll_qmm)+'\n')


[Diese Nachricht wurde von samson05 am 06. Jul. 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: 3216
Registriert: 04.08.2005

Abaqus

erstellt am: 06. Jul. 2018 15:59    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 samson05 10 Unities + Antwort hilfreich

Ahh, ok. Ich habe diese Option bisher nie benutzt, sondern immer die Skriptkomponente.

Ich habe es gerade mal auf deine Art und Weise an einem Beispiel getestet und alles hat funktioniert. Man muss halt dafür sorgen, dass die Textdatei die das Skript generiert von Isight aufgesammelt und dann dem Data Exchanger wieder zur Verfügung gestellt wird.

Deaktiviere mal, dass die Verzeichnisse nach jedem Lauf wieder gelöscht werden und schau dann mal in die Dateien in jeder Schleife.

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 06. Jul. 2018 16:14    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 Mustaine:
Ahh, ok. Ich habe diese Option bisher nie benutzt, sondern immer die Skriptkomponente.

Ich habe es gerade mal auf deine Art und Weise an einem Beispiel getestet und alles hat funktioniert. Man muss halt dafür sorgen, dass die Textdatei die das Skript generiert von Isight aufgesammelt und dann dem Data Exchanger wieder zur Verfügung gestellt wird.

Deaktiviere mal, dass die Verzeichnisse nach jedem Lauf wieder gelöscht werden und schau dann mal in die Dateien in jeder Schleife.



Mh. Du wirfst also dein Pyhton script einfach in die Script-Komponente?

Besteht die Möglichkeit, dass Du mir dein Testfile einmal hochladen könntest? Ich kann Dir auch ggf. meine Mail-Adresse per PN-schicken.

Beste Grüße

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

Abaqus

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

Ich war nicht ganz korrekt. Ich führe meine Python-Skripte normalerweise mit der OS-Command-Komponente aus.

Für das Auslesen der .odb wie du es machen möchtest, wäre es aber nur mehr Arbeit eine extra Komponete zu benutzen. Du musst dann die .odb und die .py der OS-Command-Komponente zur Verfügung stellen, das richtige Kommando absetzen und dann die .txt wieder aufsammeln.

Mit deiner jetzigen Methode brauchst du nur die .txt aufsammeln.


Was meinst du mit Testfile? Die Isight-Datei?


Nachtrag: Wenn du das Skript wirklich selbst aufrufen willst, könnte man die Simcode-Komponente nehmen, anstatt OS Command + Data Exchanger. Simcode kombiniert ja die Funktionalität.

[Diese Nachricht wurde von Mustaine am 06. Jul. 2018 editiert.]

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 06. Jul. 2018 17:22    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 Mustaine:
Ich war nicht ganz korrekt. Ich führe meine Python-Skripte normalerweise mit der OS-Command-Komponente aus.

Für das Auslesen der .odb wie du es machen möchtest, wäre es aber nur mehr Arbeit eine extra Komponete zu benutzen. Du musst dann die .odb und die .py der OS-Command-Komponente zur Verfügung stellen, das richtige Kommando absetzen und dann die .txt wieder aufsammeln.

Mit deiner jetzigen Methode brauchst du nur die .txt aufsammeln.


Was meinst du mit Testfile? Die Isight-Datei?


Nachtrag: Wenn du das Skript wirklich selbst aufrufen willst, könnte man die Simcode-Komponente nehmen, anstatt OS Command + Data Exchanger. Simcode kombiniert ja die Funktionalität.

[Diese Nachricht wurde von Mustaine am 06. Jul. 2018 editiert.]



Hey,

danke für die Hinweise bisher,
ja das isight file. Würde mir gerne mal anschauen wie du die textdatei denn dann aufsammelst. Ich stehe grad total auf dem schlauch weil ich nicht wirklich mehr Optionen finde, die mich weiter bringen.

Grüße und schonmal ein schönes Wochenende

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

Abaqus

erstellt am: 06. Jul. 2018 17: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 samson05 10 Unities + Antwort hilfreich


packed_model.zmf.txt

 
Im Anhang sollte die .zmf-Datei sein.
Einfach das .txt im Namen entfernen, in Isight öffnen und laufen lassen. Die benötigten Dateien sollten darin enthalten sein.

PS: Das ist ein einfacher Biegebalken, bei dem in 3 Schritten der Radius verändert wird. Es wird eine konstante Verschiebung aufgebracht und die Reaktionskraft ausgelesen. Einmal direkt aus der .odb und einmal über das Skript und das Parsing.

[Diese Nachricht wurde von Mustaine am 06. Jul. 2018 editiert.]

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 09. Jul. 2018 18:09    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


packed_model_userScript.zmf.txt

 
Zitat:
Original erstellt von Mustaine:
Im Anhang sollte die .zmf-Datei sein.
Einfach das .txt im Namen entfernen, in Isight öffnen und laufen lassen. Die benötigten Dateien sollten darin enthalten sein.

PS: Das ist ein einfacher Biegebalken, bei dem in 3 Schritten der Radius verändert wird. Es wird eine konstante Verschiebung aufgebracht und die Reaktionskraft ausgelesen. Einmal direkt aus der .odb und einmal über das Skript und das Parsing.

[Diese Nachricht wurde von Mustaine am 06. Jul. 2018 editiert.]


Vielen Dank für die Hilfe bisher.
Leider bekomme ich mein Modell nicht zum laufen. Mir ist aufgefallen, dass wenn ich die .odb hinein lade er mir mein user_params.txt löscht. Aber mir ist nicht klar warum.

Ich habe mein Modell auch einmal zusammen gepackt und angefügt. Vielleicht besteht ja die Möglichkeit dort einen Blick drauf zu werfen. Es wird aktuell ein Parameter variiert und ein Volumen soll über das Skript herausgerechnet werden aber vielleicht habe ich irgendwo ein Häckchen gesetzt, dass mir die Textdatei löscht.

Grüße und vielen Dank

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

bgrittmann
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 10146
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 09. Jul. 2018 19:57    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 samson05 10 Unities + Antwort hilfreich

Servus

Bist du sicher dass die user_params.txt gelöscht wird und nicht die erste Zeile überschrieben wird?
ggf hilft ja der Modus 'a' bei open weiter.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 09. Jul. 2018 22: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

Zitat:
Original erstellt von bgrittmann:
Servus

Bist du sicher dass die user_params.txt gelöscht wird und nicht die erste Zeile überschrieben wird?
ggf hilft ja der Modus 'a' bei open weiter.


Hallo Ja, beim einladen der .odb in iSight wird das Script einmal ausgeführt und die Datei gelöscht. Wenn ich das script normal über die Abakus Konsole ausführe läuft es problemlos.

ich schaue mir morgen nochmal den 'a' - modus an.

Grüße
Samson

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 10. Jul. 2018 08:14    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

Guten Morgen zusammen,

ich habe von Mustaine nun einmal alle  Files aus dem Beispiel extraiert und versucht das Modell bei mir in iSight aufzubauen. Wieder wird mein user_params.txt gelöscht beim einladen der odb in die Abaqus Komponente.

Scheint also ein Fehler in meinem iSight zu sein, dem muss ich mal auf den Grund gehen.

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

Abaqus

erstellt am: 10. Jul. 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 Nur für samson05 10 Unities + Antwort hilfreich


images.zip

 
Ich habe mir mal dein Isight-Datei angesehen. Wenn man einige Fehler korrigiert, funktioniert es auch.

Bei mir brach das Ganze mit einer Fehlermeldung ab, welche andeutet, dass der Data Exchanger keinen korrekten Input bekommt.

Im Anhang ist ein Archiv mit fünf durchnummerierten Bildern, auf welche ich mich jetzt beziehe.

Auf Bild 1 habe ich den Dateinamen ergänzt der Isight sagt, welche Datei in den Dateiparameter nach Ausführung der Abaqus-Komponente eingelesen werden soll. Danach verschwindet oben rechts auch das '[Not Configured]'.

Auf Bild 2 habe ich Isight mitgeteilt, wie die Datei heißen soll, wenn sie dem Data Exchanger bereitgestellt wird.

Danach lief alles ohne Fehler. Damit aber auch die Historie des Volumens vernünftig erfasst wird, habe ich im Loop einen Output-Parameter definiert. Das geparste Volumen vom Data Exchanger wird auf diesen Parameter gemappt. Siehe Bild 3.

Danach passt alles. Bild 4.

Weiter oben hatte ich dir schon den Tipp gegeben, beim bauen des Modells und beim debugging die Ordner und Dateien von jeder Komponente und jedem Loop zu behalten, damit man schauen kann was dort wirklich passiert. Das kann man global definieren (Bild 5) oder separat für jede Komponente.

[Diese Nachricht wurde von Mustaine am 10. Jul. 2018 editiert.]

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

samson05
Mitglied
Wissenschaftlicher Mitarbeiter


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

Beiträge: 50
Registriert: 20.05.2013

Xeon E3-1245 v5 @3.50 GHz
64GB Ram
512 Gb SSD
Inventor 2016, Ansys 16
Windows 7 64bit

erstellt am: 10. Jul. 2018 14:13    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 Mustaine:
Ich habe mir mal dein Isight-Datei angesehen. Wenn man einige Fehler korrigiert, funktioniert es auch.

Super vielen Dank! 

Jetzt klappt es bei mir auch, jedoch nur, wenn der Name des Text-files in meinem userscript nicht "user_params.txt" lautet.
Außerdem erscheint mir der Workflow nicht logisch. .cae und .odb in der Abaqus Komponente hineinladen, dann im Data-Exchanger das erstellte .txt-File einladen und quasi rückwärts wieder mit Abaqus verbinden, damit es dort als output erscheint.  
Dennoch klappt es jetzt endlich.

Noch eine Anmerkung zu dem "user_params.txt" was vielleicht für einige interessant sein mag.
Wird der Output und der Schrieb in das user_params.txt - file entsprechend formatiert ("Name" + \t + str(Value)) so werden die Werte direkt in der Abaqus Komponente angezeigt.
Möglicherweise auch ein Weg an manche Daten heranzukommen und sich den Umweg über den Data-Exchanger zu sparen.


Herzlichen dank für die kompetente Hilfe  

[Diese Nachricht wurde von samson05 am 10. Jul. 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: 3216
Registriert: 04.08.2005

Abaqus

erstellt am: 10. Jul. 2018 14:57    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 samson05 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von samson05:

Jetzt klappt es bei mir auch, jedoch nur, wenn der Name des Text-files in meinem userscript nicht "user_params.txt" lautet.
Außerdem erscheint mir der Workflow nicht logisch. .cae und .odb in der Abaqus Komponente hineinladen, dann im Data-Exchanger das erstellte .txt-File einladen und quasi rückwärts wieder mit Abaqus verbinden, damit es dort als output erscheint.    
Dennoch klappt es jetzt endlich.

Bei Isight sind zwei grundlegende Dinge wichtig:

1. Jede Komponente arbeitet für sich in einem eigenen Ordner und mit eigenen Parametern und Dateien. Das ist notwendig für komplexe Workflows. Deswegen muss man Parameter und Dateien zwischen Komponenten aktiv übergeben (mappen), sonst kennen sie sie nicht.

2. Dateien sind quasi auch Parameter. Man sieht sie auch als Input und Output pro Komponente und muss entsprechend die Übergabe regeln.

Damit sollte klar sein, warum z.B. der Data Exchanger nicht automatisch das kennt, was in der Abaqus-Komponente erzeugt wird.
Und dein Hauptinput und -output ist in der Steuerkomponente (z.B. Loop). Dort startet alles und dort endet alles.


Zitat:
Original erstellt von samson05:

Noch eine Anmerkung zu dem "user_params.txt" was vielleicht für einige interessant sein mag.
Wird der Output und der Schrieb in das user_params.txt - file entsprechend formatiert ("Name" + \t + str(Value)) so werden die Werte direkt in der Abaqus Komponente angezeigt.
Möglicherweise auch ein Weg an manche Daten heranzukommen und sich den Umweg über den Data-Exchanger zu sparen.

Ah ok, das habe ich noch nie getestet. Ich nutze Isight nur gelegentlich. Gut zu wissen. Danke.

[Diese Nachricht wurde von Mustaine am 10. Jul. 2018 editiert.]

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