Autor
|
Thema: Visualisierung von Versuchswerten (1507 mal gelesen)
|
moonwalker Mitglied Tragwerksplaner
Beiträge: 60 Registriert: 09.07.2007 abaqus 6.73
|
erstellt am: 25. Feb. 2009 14:49 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte gerne die Verformungsfigur eines Plattenversuchs visualisieren. Hierzu liegen mir die Messwerte in einem bestimmten Raster vor. Ist dies in Abaqus möglich? Wäre sehr praktisch, da ich noch Vergleichsrechnungen mit abaqus durchführen werde, die könnte ich dann 1 zu 1 gegenüberstellen ! Bin für Ideen dankbar!0der doch matlab? Gruß moonwalker ------------------ Gruß Moonwalker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 25. Feb. 2009 17:30 <-- editieren / zitieren --> Unities abgeben: Nur für moonwalker
Das einzige was mir einfällt wäre folgendes: - importieren der Punkte als Datum Points in ein neues Part in CAE - erstellen von Wires zwischen diesen Datum Points - erstellen einer Beam section und zuweisen dieser auf die Wires - verwenden dieses Parts im Assembly - vernetzen mit Balken und einspannen aller Knoten dieser Balken So hättest du die Knoten im Postprocessing, könntest sie auch sehen und könntest auch Abstände dieser Knoten zu anderen Knoten messen. In meiner Liste könnte man die Schritte 1 und 2 leicht mit Python automatisieren. Die anderen Schritte erfordern nur wenige Mausklicks unabhängig von der Anzahl der Datum Points oder Wires. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moonwalker Mitglied Tragwerksplaner
Beiträge: 60 Registriert: 09.07.2007 abaqus 6.73
|
erstellt am: 26. Feb. 2009 07:32 <-- editieren / zitieren --> Unities abgeben:
|
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 26. Feb. 2009 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für moonwalker
Hi, ich hatte gerade etwas Zeit und Lust mal wieder Python zu verwenden. Anbei ein Beispielscript zu meinem letzten Post. Es kann natürlich noch optimiert werden... Die Daten in der ASCII-Datei werden hierbei in diesem Format erwartet: x, y, z x, y, z also z.B. 1.0, 2 , 3.3 5.55, 7.98, 13 usw. Code:
""" Anwendung: - CAE-Datei und Model oeffnen in die das Bauteil erstellt werden soll - ggf. die zwei Informationen/Defaultnamen in das Script eintragen - Script starten (File->Run script) """from abaqus import * from abaqusConstants import * defaultfilename = 'daten.txt' defaultpartname = 'Part-Wires'
partname = str(getInput('Enter name for new part:', defaultpartname)) filename = str(getInput('Enter name for data file:', defaultfilename)) input=file(filename,'r') zeilen=input.readlines() input.close()
viewportname = session.currentViewportName modelname = session.sessionState[viewportname]['modelName'] p = mdb.models[modelname].Part(name=partname, dimensionality=THREE_D, type=DEFORMABLE_BODY) p = mdb.models[modelname].parts[partname] session.viewports[viewportname].setValues(displayedObject=p) for i in range(len(zeilen)): zeilen[i]=zeilen[i].split(',') p.DatumPointByCoordinate(coords=(float(zeilen[i][0]),float(zeilen[i][0]),float(zeilen[i][0]))) if i>0: d1 = p.datums p.WirePolyLine(points=((d1[d1.keys()[-2]], d1[d1.keys()[-1]])), mergeWire=OFF, meshable=ON) session.viewports[viewportname].view.fitView()
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moonwalker Mitglied Tragwerksplaner
Beiträge: 60 Registriert: 09.07.2007 abaqus 6.73
|
erstellt am: 26. Feb. 2009 12:22 <-- editieren / zitieren --> Unities abgeben:
Vielen lieben Dank, das ist genau das was ich mir vorgestellt habe! Leider bin ich noch absoluter Python-Laie, momentan übernimmt das skript für alle y und z Werte den x-Wert, bekomme also immer eine Diagonale. Wie kann ich das Skript ändern, damit es alle Werte x,y und z übernimmt? ------------------ Gruß Moonwalker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 26. Feb. 2009 12:29 <-- editieren / zitieren --> Unities abgeben: Nur für moonwalker
Das Format deiner txt-Datei scheint anders zu sein. Was mein Script erwartet steht oben. Das Dezimaltrennzeichen ist der Punkt; die Werte sind durch Kommas getrennt. Wie stehen die Daten in deiner Datei? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moonwalker Mitglied Tragwerksplaner
Beiträge: 60 Registriert: 09.07.2007 abaqus 6.73
|
erstellt am: 26. Feb. 2009 12:35 <-- editieren / zitieren --> Unities abgeben:
|
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 26. Feb. 2009 15:37 <-- editieren / zitieren --> Unities abgeben: Nur für moonwalker
Sorry, mein Fehler. Das kommt davon wenn man zuviel mit Copy&Paste arbeitet. In einer Zeile wird auf falsche Listeneinträge verwiesen. Hier die Zeile korrekt: Code:
p.DatumPointByCoordinate(coords=(float(zeilen[i][0]),float(zeilen[i][1]),float(zeilen[i][2])))
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moonwalker Mitglied Tragwerksplaner
Beiträge: 60 Registriert: 09.07.2007 abaqus 6.73
|
erstellt am: 26. Feb. 2009 15:49 <-- editieren / zitieren --> Unities abgeben:
|