Hallo, ich schreibe derzeit meine Masterarbeit und führe dabei eine Parameterstudie durch.
Ich habe nun ein Python-Skript geschrieben, welches die Parameter aus einer CSV-Datei einliest und dann in einer Schleife die Modelle erstellt. Ich habe dabei in den Modellen im Assembly immer eine variierende Anzahl an Instanzen, welche aber in einem Set "Embedded" zusammengefasst werden sollen. Beim Ausführen des Skripts erhalte ich jedoch immer die Fehlermeldung "Feature creation failed!". Wenn ich das Set jedoch manuell über den Viewport erstelle, ist dies kein Problem. Das ist mein verwendeter Code:
--------------------------------------------------------------------------------------------
a = mdb.models[Name + '_Buckle'].rootAssembly
# Liste zur Speicherung der Zellensequenzen
cells_list = []
def add_cells_by_prefix(prefix, mask):
for instance_name in a.instances.keys():
if instance_name.startswith(prefix):
try:
c = a.instances[instance_name].cells
cells = c.getSequenceFromMask(mask=(mask, ), )
cells_list.extend(cells)
print("Zu {} hinzugefügt: {} Zellen".format(instance_name, len(cells)))
except KeyError:
print("Instanz {} nicht gefunden.".format(instance_name))
# Maskierungen für jede Instanzgruppe
mask_KBD = '[#fffffff ]'
mask_Bue = '[#ffffffff ]'
mask_Laengs = '[#f ]'
mask_Steck = '[#fffff ]'
# Hinzufügen von Zellen basierend auf dem Präfix
add_cells_by_prefix('KBD', mask_KBD)
add_cells_by_prefix('Bue', mask_Bue)
add_cells_by_prefix('Laengs', mask_Laengs)
add_cells_by_prefix('Steck', mask_Steck)
# Erstellen des Sets "Embedded"
if cells_list:
print("Anzahl der Zellen in der Liste: {}".format(len(cells_list)))
a.Set(cells=cells_list, name='Embedded')
else:
print("Keine Zellen zum Erstellen des Sets vorhanden.")
--------------------------------------------------------------------------------------------
In der Ausgabe in Abaqus wird auch geschrieben, dass sich z.B. 3504 Zellen in der Liste befinden. Dies ist auch die richtige Anzahl. Die Masken habe ich auch mehrfach überprüft und diese stimmen. Ich habe schon recht viel ausprobiert und bin so langsam am verzweifeln. Ich würde mich sehr freuen, wenn mir jemand einen guten Tipp geben kann.
Viele Grüße,
Benny
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP