| | | KISTERS 3DViewStation: 3D-Visualisierung für After Sales, Service und Ersatzteile, eine Pressemitteilung
|
Autor
|
Thema: Elementset erstellen (478 / mal gelesen)
|
Database91 Mitglied Student
Beiträge: 20 Registriert: 18.01.2021
|
erstellt am: 24. Sep. 2021 06:18 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich würde gern ein Element Set erstellen aus Elementen, welche nicht alle in der gleichen cell liegen. Im Anhang habe ich 2 Bilder des per Hand selektierten Sets. Vom Code her habe ich es bereits auf 2 verschiedene Arten versucht. Variante 1:
Code: a = mdb.models['Model-1'].rootAssembly e1 = a.instances['ungekerbteProbe-1'].elements Elemente_Auswertung=e1.getByBoundingBox(-Sehne/4, -D_gross/2, D_klein/(SA_r*2), Sehne/4, D_gross/2, D_klein/(SA_r*4)) a.Set(elements=Elemente_Auswertung, name='Mittelelemente')
Variante 2: Code: p = mdb.models['Model-1'].parts['ungekerbteProbe'] c=part_ungekerbteProbe.cells e=part_ungekerbteProbe.elements Elemente_Auswertung=e.getByBoundingBox(-Sehne/4, -D_gross/2, D_klein/(SA_r*2), Sehne/4, D_gross/2, D_klein/(SA_r*4)) p.Set(elements=Elemente_Auswertung, name='Mittelelemente')
Bei beiden Varianten wird das Set angelegt, es ist aber leer. Wenn ich über den Macro Recorder Versuche weiter zu kommen, kommt da das wunderbare getSequenceFromMask mit den entsprechenden Elementnummern. Hilft mir also auch nicht wirklich weiter -.- Bei Bedarf kann ich auch noch das komplette Skript hochladen. Vielen Dank im Voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3585 Registriert: 04.08.2005 Abaqus
|
erstellt am: 24. Sep. 2021 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für Database91
Cellen spielen bei der Geschichte keine Rolle, insofern muss das Problem eine andere Ursache haben. Deine beiden Codes machen auch quasi dasselbe, nur einem auf part-level und einmal auf assembly-level. Mach mal die Box deutlich größer und schau mal was dann passiert. Prüfe auch dass die Box wirklich einen Bereich umspannt, der Elemente beinhaltet. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Database91 Mitglied Student
Beiträge: 20 Registriert: 18.01.2021
|
erstellt am: 01. Okt. 2021 05:53 <-- editieren / zitieren --> Unities abgeben:
Wenn ich den Bereich größer Fasse, dann sind Elemente darin enthalten. Also prinzipiell funktioniert die Selektion mit Code: p = mdb.models['Model-1'].parts['ungekerbteProbe'] c=part_ungekerbteProbe.cells e=part_ungekerbteProbe.elements Elemente_Auswertung=e.getByBoundingBox(-Sehne/4, -D_gross/2, -D_klein, Sehne/4, D_gross/2, 0) p.Set(elements=Elemente_Auswertung, name='Mittelelemente')
Das Problem ist aber, dass ich, wie in dem Bild zu sehen, genau die erste Schicht der Elemente in der Mitte des Modells haben will. Ich habe in der ersten Selektion die BoundingBox auch bewusst kleiner gemacht als die Elemente sind. Aber prinzipiell, wenn ich in der GUI per Maus den Kasten ziehe reicht es ja auch, wenn ich das Element schneide für die Selektion. Oder ist das bei dem Code anders? Was mich jetzt gerade wundert ist der Fakt, ich habe meine BoundingBox bis z=0 gezogen, das ist die mittig verlaufende Plane in gelb. Warum sind im mittleren Bereich die Elemente bis z=0 selektiert - wobei da ja auch eines fehlt - und im äußeren Bereich die Elemente nicht? Das finde ich äußerst verwirrend. Vielen Dank im Voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3585 Registriert: 04.08.2005 Abaqus
|
erstellt am: 01. Okt. 2021 18:07 <-- editieren / zitieren --> Unities abgeben: Nur für Database91
Bei der BoundingBox müssen die Objekte darin sein, was auch im Handbuch steht. Es ist also anders als bei der Drag-Box in der GUI. Außerdem solltest du eine kleine Toleranz einplanen. Wenn die Elemente bis z=0 gehen, solltest du die Box bis z=-0.1 oder -0.01 erstellen. [Diese Nachricht wurde von Mustaine am 01. Okt. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|