2017-08-30 3 views
0

La réponse à la question suivante a déjà été affiché comme suit: Question previously asked: Abaqus script measure/calculate surface area La réponse comme suit: Answer provided cependant la mise en œuvre, je me l'erreur suivante:Abaqus Script de mesure Surface/Volume

******AttributeError: 'Part' object has no attribute 'getVolume****'"** 

Maintenant en passant par Abaqus Scripting manuel d'utilisation, j'ai vu que getVolume() et getArea() sont des attributs de l'objet de la pièce. Toujours, l'erreur. Des idées où je vais mal? Edit: Les attributs fournis n'existent que pour un MdB et non pour le problème. En outre, je n'ai pas pu obtenir les instances dans MdB car j'utilisais un fichier de base de données de sortie (à partir d'un fichier .inp). cae) et il n'incluait aucune instance dans MdB. J'espère que cela aide.Si vous utilisez un fichier .cae vous obtiendrez des instances ayant une certaine valeur et non vide, puis il est facile de calculer le volume et la superficie.

+1

un problème de version peut-être? un lien réel à la question précédente serait bon. – agentp

+0

https://stackoverflow.com/q/36423255/1004168 – agentp

+0

@ agentp Je pense que ce n'est pas un problème de version, car j'ai essayé d'exécuter le même ensemble de commandes sur une version précédente avec les mêmes entrées et j'obtiens le même résultat. . :(. Je pense qu'il ya quelque chose de mal dans ce que je fais. Merci pour le lien si ..;) – mash

Répondre

0

Pour la mesure de volume, vous pouvez utiliser une commande comme celle-ci (testée sur Abaqus 6.14-5).

volume_element=session.xyDataListFromField(odb=odb, outputPosition=WHOLE_ELEMENT, variable=(('EVOL', WHOLE_ELEMENT),), elementSets=('PART-1.SET-1')) 

Vous pouvez ensuite accéder à votre valeur de volume à l'aide:

volume_element[i].data[1][1] 

Espérons que cela vous aidera!