IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Simulation Discussion :

Ereur sur code Python - Abaqus


Sujet :

Simulation

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Ereur sur code Python - Abaqus
    Bonjour,
    J'ai crée un code pour extraire le déplacement sur la pièce CORPS-1 (le top serait de pouvoir sélectionner aussi le noeud 13) en python depuis Abaqus et j'ai une erreur de syntaxe que je n'arrive pas à régler.
    Voici le code :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    from odbAccess import *
    cycledeb=1
    cyclefin=2
    while cycledeb<=cyclefin:
        nomcycle='Cycle_' + str(cycledeb) + '.odb'
        odb=openOdb(nomcycle)
        print 'Extraction pour step EXTRUSION'
        for k in range(0,len(odb.steps['Extrusion'].frames)):
                lastFrame = odb.steps['Extrusion'].frames[k]  
                displacement=lastFrame.fieldOutputs['U']
                fieldValues=displacement.values
                for v in fieldValues:
                    time=lastFrame.frameValue
                    print 'Time=',time
                    print 'Frame=',k
                    if (v.instance.name)=='CORPS-1':  #### erreur sur cette ligne ###### l'erreur apparait à la fin du premier cycle de k
                        print 'Instance',v.instance.name #### erreur sur cette ligne ######  l'erreur apparait à la fin du premier cycle de k
                        print 'Label',v.nodeLabel
                        print 'Deplacement X=',v.dataDouble[0] 
                        print 'Deplacement Y=',v.dataDouble[1]
         cycledeb=cycledeb+1
    odb.close
    Quelqu'un aurait-il une idée pour me dépanner ?
    Merci.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 545
    Points : 30 269
    Points
    30 269
    Par défaut
    Salut,

    Citation Envoyé par Benur81 Voir le message
    Quelqu'un aurait-il une idée pour me dépanner ?
    Il faudrait déjà commencer par poster les lignes d'erreurs qui sont, avec Python, assez explicites.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Ci-joint les lignes d'erreurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "c:/Users/user/Documents/Abaqus/Etudes/Lecture ODB/ExtractionValeur.py", line 22, in <module>
        if (v.instance.name)=='CORPS-1':
    AttributeError: 'NoneType' object has no attribute 'name'
    En fait je viens de m'apercevoir qu'il fonctionne bien jusqu'au v.nodeLabel=145, de l'instance CORPS-1 ensuite l'instance suivante est None et là il plante.
    A la rigueur y a t il dans Python un moyen de sauter cette ligne notée None ?

    En espérant être assez précis.

    Merci.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 545
    Points : 30 269
    Points
    30 269
    Par défaut
    Salut,

    Citation Envoyé par Benur81 Voir le message
    A la rigueur y a t il dans Python un moyen de sauter cette ligne notée None ?
    Il suffit de s'assurer que l'objet "v.instance" est différent de None avant d'accéder à l'attribut "name" ou d'attraper l'erreur via la construction try...except...
    Ceci dit, lorsque vos données ne correspondent pas aux données attendues, ignorer l'erreur plutôt que chercher à la comprendre est généralement une mauvaise idée.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut,
    N'étant pas un pro de python, j'ai réussi à m'en sortir en avec try ..... En effet, entre chaque instances il y a une ligne vide dans mon fichier base de données.

    Et donc ça fonctionne ! Merci. Slts.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/10/2016, 01h42
  2. [XL-2016] Code Python sur Excel
    Par eddy1975 dans le forum Excel
    Réponses: 1
    Dernier message: 15/03/2016, 14h51
  3. NAO h21 implémenté un code python sur le robot ?
    Par benjamin29 dans le forum Général Python
    Réponses: 0
    Dernier message: 04/02/2015, 16h29
  4. Experts Mysql : Optimiser une requete sur codes postaux
    Par El Riiico dans le forum Requêtes
    Réponses: 6
    Dernier message: 20/01/2006, 18h00
  5. Tri sur code hiérarchique
    Par cafou33 dans le forum SQL
    Réponses: 5
    Dernier message: 22/03/2004, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo