2017-04-13 1 views
3

J'ai créé un ensemble d'éléments dans le rootAssembly dans un fichier .mdb:Abaqus script python - ensemble des éléments créés dans .mdb pas accessible à .odb

a = mdb.models['Model-1'].rootAssembly 
els_1 = a.instances['Part-1'].elements 
Coh_els = els_1.getByBoundingBox(x1 y1 z1 x2 y2 z2) 
a.Set(elements=Coh_els, name='COHELSET-0') 

Je tente d'accéder à des sorties sur le terrain dans cet élément défini dans le fichier .odb:

coh_els = odb.rootAssembly.instances['PART-1'].elementSets['COHELSET-0'] 

Mais je reçois « KeyError: COHELSET-0 » (l'ensemble d'éléments ne sont pas visibles dans l'arborescence du modèle .odb) donc je ne peux pas accéder à la sortie sur le terrain dans ce ensemble.

Le reste de mon code fonctionne lorsque j'utilise un jeu d'éléments visible dans l'arborescence, donc je sais que le problème est d'accéder à l'ensemble d'éléments prédéfini.

Quelqu'un pourrait-il m'expliquer ce que je fais de mal?

Répondre

0

Le problème a été résolu en changeant la ligne

coh_els = odb.rootAssembly.instances['PART-1'].elementSets['COHELSET-0'] 

à

coh_els = odb.rootAssembly.elementSets['COHELSET-0'] 
+0

Ouais, vous avez créé le under'a' set, qui est 'rootAssembly' –