ich habe eine Frage bezüglich des Aufbaus eines Skripts bzw. der Klassen für Abaqus (FEM-Software).
Ich analysiere ein Bauteil das aus zwei Einzelteilen zusammengesetzt ist. Dafür habe ich zwei Klassen angelegt, wo jeweils das Einzelteil erzeugt wird.
In Abaqus werden dann die Einzelteile (Parts) in einer "Assembly" zusammengefügt. In meinem Fall möchte ich das eine Bauteil aus dem anderen herausschneiden. Für diesen Vorgang mal hier das Skript:
Code: Alles auswählen
def core_cutout(self):
# hier wird die assembly erzeugt
connAssembly = self._model.rootAssembly
inst_clt = connAssembly.Instance(name = self._name, part = cltPlatePart, dependent = ON)
inst_lvl = connAssembly.Instance(name = self._name, part = corePart, dependent = ON)
# Verschiebung des corePart
inst_lvl.translate(vector = (plate_width / 2 - (inner_core_width / 2 + cutout_width), 0, 0))
#Ausschneiden des corePart aus dem cltPlatePart
connAssembly.InstanceFromBooleanCut(name = 'Cutted Plate', instanceToBeCut = inst_clt,
cuttingInstances = (inst_lvl, ), originalInstances = DELETE)
"global name 'cltPlatePart' is not defined"
Nun meine Fragen....
Wie kann ich eine Funktionen außerhalb einer Klasse ausführen und dabei auf die in den Klassen definierten Objekte zugreifen? Oder ist der Aufbau an sich schon falsch/ungeeignet?
Hat das etwas mit Inheritance oder Composition zu tun? Die bisherigen Beispiele die ich dazu gesehen habe, haben mir leider nicht wirklich weiter geholfen.
Ich hoffe ich habe das Problem ausführlich genug erklärt um das Problem zu verstehen.
Vielen Dank schon mal für eure Bemühungen!
Gruß Ferrago