Autor
|
Thema: Erstellen eines 3d Objekts mit python (2440 mal gelesen)
|
grimes Mitglied
Beiträge: 5 Registriert: 24.04.2010
|
erstellt am: 24. Apr. 2010 11:41 <-- editieren / zitieren --> Unities abgeben:
Gute Tag. Folgendes Problem: Ich hab einen Quader welcher in mehrer Unterkörper aufgeteilt ist. Ich hab eine Datei mit allen Eckpunkten und Kanten (Punkt zu Punkt) der einzelen Unterkörper. Kann ich in Python ein Script erstellen, welches die Datei einliest (kein Problem) und die Punkte (3d) und Kanten direkt als 3d Obejkt umsetzt? Das Beispiel in der Referenz zeigt leider nur den Fall für ein Sketch. myModel = mdb.Model(name='Model A') mySketch = myModel.ConstrainedSketch(name='Sketch A', sheetSize=200.0) mySketch.Line(point1=xyCoordsInner[i], point2=xyCoordsInner[i+1])
Das bräuchte ich halt in etwa direkt für ein 3d Objekt. Schönen Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten1983 Mitglied Doktorand
Beiträge: 125 Registriert: 11.10.2007
|
erstellt am: 26. Apr. 2010 09:27 <-- editieren / zitieren --> Unities abgeben: Nur für grimes
Soweit ich weiß, kannst du nicht direkt im Raum einen Körper durch Kanten und Punkte erstellen. Aber du kannst deinen Sketch zum Beispiel extrudieren. Code: GesamtModell.sketches['__profile__'].rectangle(point1=Punkt1,point2=Punkt2) GesamtModell.Part(dimensionality=THREE_D,name='%s'%Name,type=DEFORMABLE_BODY) GesamtModell.parts['%s'%Name].BaseSolidExtrude(depth=ExtrTiefe,sketch=GesamtModell.sketches['__profile__'])
Unter "Parts" im Scripting Reference Manual gibts bestimmt noch mehr Möglichkeiten was geht.Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
grimes Mitglied
Beiträge: 5 Registriert: 24.04.2010
|
erstellt am: 26. Apr. 2010 12:28 <-- editieren / zitieren --> Unities abgeben:
|
grimes Mitglied
Beiträge: 5 Registriert: 24.04.2010
|
erstellt am: 27. Apr. 2010 16:17 <-- editieren / zitieren --> Unities abgeben:
|
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 28. Apr. 2010 16:39 <-- editieren / zitieren --> Unities abgeben: Nur für grimes
Wie muss man sich das vorstellen - du hast einen Quader in dem mehrere Kugeln sind welche z.B. andere Materialeigenschaften bekommen sollen und du möchtest dieses Gebilde mit Python erzeugen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
grimes Mitglied
Beiträge: 5 Registriert: 24.04.2010
|
erstellt am: 28. Apr. 2010 16:43 <-- editieren / zitieren --> Unities abgeben:
|
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 04. Mai. 2010 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für grimes
Sorry, ich hatte den Thread vergessen. Falls das Problem noch aktuell ist: Bei dem Körper würde ich nicht über einen Sketch gehen. Erzeuge ein neues Bauteil und hierbei erstmal einen dummy-Punkt irgendwo (kannst du später löschen). Erzeuge dann Datum Points mit den Koordinaten der Eckpunkte. Diese Punkte kannst du dann mit Create Wire: Point to Point verbinden. Somit hast du das Drahtgittermodell. Aus der Python-Mitschrift dieser Aktionen kannst du danach eventuell ein allgemeines Skript für diese Aktionen erzeugen. Falls du die einzelnen Regionen nun in Solids umwandeln willst, wird es etwas aufwändiger. Du müsstest über Tools>Geometry Repair>Face>Create Face alle Flächen zwischen den Kanten erzeugen und könntest geschlossene Flächenregionen dann zu Solids umwandeln (Shape>Solid>From shell). Das zu automatisieren dürfte aber fast unmöglich sein. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
femchen Mitglied wiss. MA
Beiträge: 166 Registriert: 25.06.2009
|
erstellt am: 04. Mai. 2010 11:58 <-- editieren / zitieren --> Unities abgeben: Nur für grimes
Unmöglich ist das nicht, sauber programmiert sollte das wohl klappen.Umständlich ist nur, daß doppelt liegende Wires automatisch verschmolzen werden, so daß man die Wires für die Face-Definition mit findAt wieder suchen muß. Dasselbe gilt wohl für die Faces, die schließlich die Solids bilden sollen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jeremy Mitglied
Beiträge: 129 Registriert: 04.02.2009
|
erstellt am: 04. Mai. 2010 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für grimes
|
grimes Mitglied
Beiträge: 5 Registriert: 24.04.2010
|
erstellt am: 04. Mai. 2010 20:08 <-- editieren / zitieren --> Unities abgeben:
Danke, werde ich ausprobieren. Das ist sogar gewollt, dass die gemeinsamen Kanten verschmelzen... Es geht um Bruchmechanik. In dem so erstellten Gefüge soll nachher die Rissinitierung simuliert werden Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |