2016-04-04 13 views
0

Abaqus FEM-Software, der Python verwendet, erstellt ein eigenen Variable/Listentypen, zum Beispiel:Wie mit diesen unbekannten/seltsamen Variablentypen umgehen?

a = mdb.models['Model-1'].rootAssembly.instances['Instance-1'].faces 
print a 
type(a) 

['Face object', 'Face object', 'Face object', ...]

type 'FaceArray'

print a[0]: 
type(a[0]) 

({'featureName': 'Name-1', 'index': 6, 'instanceName': 'Name-1', 'isReferenceRep': False, 'pointOn': ((0.0, 0.733333, -0.133333),)})

type 'Face'

Wenn ich x=[] jetzt initialisieren und ein 'Face Objekt' hinzufügen mit x.append(a[2]) ergibt es

[mdb.models['Model-1'].rootAssembly.instances['Instance-1'].faces[2]]

statt

['Face object']

Wie kann ich eine neue Variable im gleichen Format wie ein erstellen?

+1

Was bedeutet 'Typ (x [0])' zurückkehren? – Swier

+0

Es gibt zurück: > Typ 'NoneType' – user56574

Antwort

0

u haben Gesicht Array nicht einfaches Array zu erstellen, dann wird Ihr Gesicht Array Gesicht Objekte hinzufügen in

x = FaceArray() 
+0

Leider funktioniert das nicht und gibt: > NameError: Name 'FaceArray' ist nicht definiert – user56574

+0

http://ivt-abaqusdoc.ivt.ntnu.no:2080/v6 .14 ​​/ books/ker/default.htm? Startat = pt01ch07pyo05.html Die Funktion getByBoundingBox gibt das Gesichtsfeld zurück, das heißt es enthält den Konstruktor des Gesichtsfeldes –

+0

Danke für Ihre Hilfe. Was bedeutet das für mich genau? Wie kann ich die Tatsache nutzen, dass getByBoundingBox in diesem Fall die Konstruktorinformationen enthält? – user56574