Autor
|
Thema: Paths erzeugen mit point_list (517 mal gelesen)
|
roni922 Mitglied civil engineer
Beiträge: 5 Registriert: 07.07.2021
|
erstellt am: 07. Jul. 2021 10:44 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ich schreibe ein Python-Skript für das parametrische Studium und es funktioniert gut. Jetzt habe ich für die Ergebnisextraktion eine Punktliste entlang des Pfads in der Ausgabedatenbank erstellt. Mein Pfad schafft es gut, aber das einzige Problem ist, dass dieser Pfad mir nicht die Ergebnisse gemäß der Ausgabedatenbank liefert. Ich weiß nicht, wie dieser Pfad mit der sich ändernden Ausgabedatenbank funktionieren würde. Ich füge ein einfaches Beispiel bei, das meinem Problem ähnlich ist. Jede Hilfe wird geschätzt.Vielen dank. ------------------ roni922 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: 08. Jul. 2021 17:57 <-- editieren / zitieren --> Unities abgeben: Nur für roni922
Mit der Durchbiegung liegt bei min. einem Modell das Ergebnis außerhalb des Pfades. Nicht verwunderlich, wenn der Pfad quasi an der Oberseite der Geometrie erstellt wird und das Ergebnis sich davon wegbiegt. Im Anhang ist ein Beispielmodell und ein Skript. Auf Basis zweier Sets im Modell wird von dem Skript der Pfad mit den Knotennummern erstellt. Somit biegt sich quasi der Pfad mit. Erstelle einfach ein Set mit einer Kante am Modell. Davon werden dann automatisch die Knoten genommen. Ggf. partitioniert du dein Modell um eine gewünschte Kante (edge) zu bekommen. Erstelle dann noch ein Set mit einem Punkt dieser kante. Das ist der Startpunkt des Pfads. Stelle sicher, dass die Namen der Sets zu den Namen im Skript passen. PS: Eines deiner Modelle verbiegt sich so stark, dass das Verhalten wohl nicht mehr linear ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roni922 Mitglied civil engineer
Beiträge: 5 Registriert: 07.07.2021
|
erstellt am: 08. Jul. 2021 20:43 <-- editieren / zitieren --> Unities abgeben:
Hi, Danke für das Skript. Das werde ich sicher versuchen. Wollen Sie also damit sagen, dass es keine Möglichkeit gibt, die Ergebnisse nach Punkteliste zu finden? Ist das nicht ein konventioneller Weg? ------------------ roni922 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: 09. Jul. 2021 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für roni922
Natürlich kannst du auch eine Punkteliste verwenden. Du musst nur sicherstellen, dass der Pfad auch durch das verformte Modell läuft. Du könntest z.B. die Knotenverschiebungen auslesen und damit den gewünschten Pfad anpassen. Oder du verwendest die Variable COORD. Es führen viele Wege zum Ziel... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roni922 Mitglied civil engineer
Beiträge: 5 Registriert: 07.07.2021
|
erstellt am: 09. Jul. 2021 12:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Danke. Ich habe das Problem gefunden, dass die drei von mir erstellten Pfade aufgrund eines Skriptfehlers nur für Odb-1 zugewiesen werden. Die Ergebnisse konnten also sicher nicht gefunden werden. Daher sollten es drei Pfade für drei Odbs sein. Wissen Sie, wie Sie mein Skript (mit einer loop) ändern können, um einen einzelnen Pfad für einzelne ODB zu erstellen?entschuldige, dass ich zu viel gefragt habe. ------------------ roni922 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: 09. Jul. 2021 16:42 <-- editieren / zitieren --> Unities abgeben: Nur für roni922
|
roni922 Mitglied civil engineer
Beiträge: 5 Registriert: 07.07.2021
|
erstellt am: 10. Jul. 2021 13:39 <-- editieren / zitieren --> Unities abgeben:
Hi, Ich bin Ihrem Drehbuch gefolgt. Ich habe zwei Knotensätze erstellt. Der Knotensatz auf dem Pfad erstellt gut. Aber der Startknotensatz ist es nicht. Für start node set habe ich nur die Startkoordinate geschrieben: node_start = de.getByBoundingBox(Beam_w[i]/2,Beam_h[i]/2,0.0). Aber ich bin verwirrt und das Ergebnis ist falsch. Es tut mir leid, dass ich nie einen Knotensatz erstellt habe. Kannst du mir bitte mein Skript anschauen? Vielen Dank ------------------ roni922 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: 12. Jul. 2021 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für roni922
Die Bounding Box für den Startpunkt hat nur drei Koordinaten. Sie sollte aber 6 haben um eine Box aufzuspannen. Warum verwendest du die Knoten vom Netz? Erstelle die Sets besser mit der Geometrie in dem du die Kanten für das erste Set und einen Punkt für das zweite Set wählst. Das ist einfacher und robuster. Verwende findAt() oder die Indizes der Objekte. Kleiner Tipp: Das Reporting auf Index umstellen mit session.journalOptions.replayGeometry session.journalOptions.setValues(replayGeometry=INDEX) Beachte auch, dass mein Beispielskript die Set auf Assembly-level erstellt. Entsprechend sind dann die Namen die im Postprocessing verwendet werden. Du hast die Set auf Part-level erstellt. Kann man machen. Dann aber im Postprocessing beachten wie man die Sets anspricht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roni922 Mitglied civil engineer
Beiträge: 5 Registriert: 07.07.2021
|
erstellt am: 13. Jul. 2021 14:54 <-- editieren / zitieren --> Unities abgeben:
|