Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  SIMULIA/ABAQUS
  Kontur mittels Funktion f(x,y,z) erstellen

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: Geniale 3D-Visualisierung für intuitiven HMI Einsatz, eine Pressemitteilung
Autor Thema:  Kontur mittels Funktion f(x,y,z) erstellen (1435 mal gelesen)
oli89
Mitglied


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

Beiträge: 1
Registriert: 22.01.2015

erstellt am: 22. Jan. 2015 15:01    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


Kuehlturm.jpg

 
Hallo zusammen,

ich bin neu im Bereich ABAQUS und Python-Scripting und soll den Kühlturm aus der beigefügten Abbildung mittels Python-Script erstellen.
Dabei soll ich aber keine Spline-Funktion zur Annäherung der Kontur verwenden sondern die Shell curve (siehe beigefügtes Bild).

Ich denke, dass die Erzeugung der Kontur mittels 3D Deformable Shell -> Sweep am einfachsten geht. Dafür brauche ich ja nur eine Gerade in der "Path Sketch" und eben die "Shell curve"-Funktion aus dem angehängten Bild. Schaffe ich es überhaupt nicht da in irgend einer Weise die Funktion von x,y,z abhängig zu machen

Zur Geometrie:
Der Ursprung befindet sich recht nach am Oberen Ende des Kühlturms.
Das obere Ende befindet sich auf z_oben=60ft und das untere Ende auf z_unten=-270ft

Kann mir bitte jemand helfen und erklären, wie ich die Funktion vom Bild als Flächen
Mein bisheriger Code sieht folgendermaßen aus

Code:

from abaqus import *
import testUtils
testUtils.setBackwardCompatibility( )
from abaqusConstants import *
from numpy import array  # (Achtung vor Abaqus Version 6.11 muss numpy durch Numeric ersetzt werden)
import part
import random
import material
import regionToolset
import section
import assembly
import mesh
import interaction
#
## Geometrie Definitions
r_o = 53.262/2  # [r_o] = m; Radius Kuehlturm oben
r_u = 72.5174/2 # [r_u] = m; Radius Kuehlturm unten
h  = 100.584    # [h]  = m; Hoehe Kuehlturm gesamt
h_o = 18.288    # [h_o] = m; Hoehe der Kuehlturmoberkante
h_u =-82.296    # [h_u] = m; Hoehe der Kuehlturmunterkante
t1  = 0.17      # [t1]  = m; Dicke der Kuehlturmwand
t2  = 0.50      # [t2]  = m; Dicke der Kuehlturmwand
t3  = 1.00      # [t3]  = m; Dicke der Kuehlturmwand
t4  = 3.00      # [t4]  = m; Dicke der Kuehlturmwand
#
## Material Definitions
E = 20684.272e6  # [E]  = Pa; E-Modul
v = 0.15        # [v]  = --; Querkontraktionszahl Nue
#
## Loescht altes 'Name'-Model (Falls der Default job noch existiert!)
del mdb.models['Kuehlturm']
## Modul Definitions
myModel = mdb.Model(name='Kuehlturm')
#
## Deleting the Default Model
#del mdb.models['Model-1']
#
#### Part Definitions
myWire = myModel.Part(name='Part_Kuehlturm',dimensionality=THREE_D, type=DEFORMABLE_BODY)
#
#### Path erstellen
myPath = myModel.ConstrainedSketch(name='Path_Kuehlturm', sheetSize=200.0) # Zuerst wird der Path, dann die zugehörige Skizze erstellt
############ Gitterknoten Definitions
X_p = [0.0,r_u,r_u]
Y_p = [0.0,0.0,h]
############ Erstellt den Path
#mySketch.CircleByCenterPerimeter(center=(Xcoord[0], Ycoord[0]), point1=(Xcoord[1], Ycoord[1]))
#mySketch.Line(point1=(X_p[0],Y_p[0]),point2=(X_p[1],Y_p[1])) # 1-2
myPath.setPrimaryObject(option=STANDALONE)
myPath.Line(point1=(0.0, h_u), point2=(0.0, h_o))
myPath.unsetPrimaryObject()
#### Sketch zum Path erstellen
mySketch = mdb.models['Kuehlturm'].ConstrainedSketch(name='Sketch_Kuehlturm', sheetSize=200.0, transform=(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, -0.0, -1.0, -0.0, 0.0, -25.0, 0.0))
mySketch.setPrimaryObject(option=SUPERIMPOSE)
mySketch.CircleByCenterPerimeter(center=(X_p[0], Y_p[0]), point1=(X_p[1], Y_p[1]))
#
myWire.BaseShellSweep(sketch=mySketch, path=myPath)
mySketch.unsetPrimaryObject()
#
session.viewports['Viewport: 1'].setValues(displayedObject=myWire)
#
#
#
#
############# Ordnet die Drahtskizze dem Part-Objekt zu
mySketch.setPrimaryObject(option=STANDALONE)
myWire = mdb.models['Kuehlturm'].parts['Part_Kuehlturm']

Viele Grüße
Oli

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

Abaqus

erstellt am: 23. Jan. 2015 09:37    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 oli89 10 Unities + Antwort hilfreich

Wenn du y=0 setzt, kannst du doch die Gleichung leicht umstellen und für gegebene z das entsprechende x ausrechnen.

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

slein89
Mitglied



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

Beiträge: 139
Registriert: 30.04.2012

erstellt am: 23. Jan. 2015 09:39    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 oli89 10 Unities + Antwort hilfreich


revolute.txt

 
Probier mal das angefügte Skript aus. Bei mir funktioniert es.

Edit: Auf Grund der Rotationssymmetrie habe ich Revolute statt Sweep verwendet. Das Vorgehen ist das gleiche wie von Mustaine beschrieben.

[Diese Nachricht wurde von slein89 am 23. Jan. 2015 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)2025 CAD.de | Impressum | Datenschutz