Hi Nicksen,
ich habe jetzt eine "halbwegs" elegante Methode gefunden die Sets zu definieren. Der Trick dabei war nicht in der Assembly zu vernetzen sondern im Part-Modul. Dadurch kann man dann auf die Sectionassignments und auf die Internalsets zugreifen und diese auch unterscheiden.
Dannach MUSS man mit dem vernetzten Part eine neue Assembly erzeugen (wird einfach das Partvernetzt erkennt ABAQUS nicht immer automatisch, dass die Assembly jetzt vernetzt wurde, ist eine komische Geschichte).
In dieser neuen Assembly können dann die Elemente aus dem part übertragen werden. Vorrausstezung dafür ist, dass die Elementlabels im Part-Modul die selben wie im Assembly-Modul sind (ich hoffe das ist immer so).
Na ja hier mal mein Pseudo-code:
del mdb.models['myModel'].rootAssembly.features['myInstance_trial'] # löschen der Assembly (es befindet sich aber das entsprechende Part im Part-Modul)
mdb.models['myModel'].parts['my_assembled_part'].generateMesh()
myPart = mdb.models['myModel'].parts['my_assembled_part']
for i in range(len(myPart.sectionAssignments)):
myPart.Set(elements=myPart.sectionAssignments[i].getSet().elements, name=myPart.sectionAssignments[i].sectionName+'_ELEM')
# jetzt gibt es die Sets bzgl. der Sections im Part-Modul
myNew_Instance = mdb.models['myModel'].rootAssembly.Instance(dependent=ON, name='myNew_inst', part=myPart) # neue Instance in Assembly eingefügt damit "immer" ABAQUS merkt das auf dem Partmodul vernetzt wird
sect1_elem_seq = [] # Liste inzialisieren um Elemente der section1 zu sammeln
for element in myPart.sets[myPart.sectionAssignments[i].sectionName+'_ELEM'].elements:
sect1_elem_seq.append( myPart.elements[element.label-1:element.label] )
# jetzt ist eine Liste erzeugt mit der man nun in der Assembly das entsprechende Set definieren kann
mdb.models['myModel'].rootAssembly.Set(name='SECT1_ElEM_ASS', elements=sect1_elem_seq)
Ich hoffe das ist einiger Maßen verständlich.
Leider gibt es wohl keinen vernünftigen weg in der Assembly an die Elemente der einzelnen Sections heranzukommen. Ich glaube das liegt daran, dass die Section nur im Part-Modul definiert werden.
Vielen Dank noch mal für deine Hilfe
Schneitz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP