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

Interfaçage autre langage Python Discussion :

Expression Item sous python


Sujet :

Interfaçage autre langage Python

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 23
    Points : 12
    Points
    12
    Par défaut Expression Item sous python
    Bonjour tout le monde,

    Je dois convertir un code sous Visual basic 2008 à python et j'arrive pas à trouver l'expression python de cette instruction crite sous vb 2008:
    oPTSpeosNodeSimulation1 = oPTSpeosNodeRoot1.Item("Simulations")

    Est ce qu'il y a une autre expression en python pour ecrir le Item?

    J'ai cherché sur le net mais j'ai pas trouvé de solution...

    Je vous remercie

    Cordialement

    Saimyas

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 047
    Points : 1 377
    Points
    1 377
    Par défaut
    c'est sensé faire quoi ?

  3. #3
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    On ne connait pas tous Visual Basic...

    "Moi pas comprendre ce qui est demandé..."

  4. #4
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut
    Citation Envoyé par josmiley
    c'est sensé faire quoi ?
    Ouais, ça fait quoi ?

    Et c'est quoi le type python que tu utilises pour l'objet oPTSpeosNodeSimulation1 ?

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Exact N.tox, tout vas dépendre de oPTSpeosNodeRoot1.

    Bonjour saimyas,

    Pourrais tu nous dire l'objet Python que tu utilise pour oPTSpeosNodeRoot1 ?
    Et c'est quoi en vb ? Une collection ? C'est quoi Simulations ?

    @+
    Merci d'utiliser le forum pour les questions techniques.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    Bonjour PauseKawa,N.tox, rambc et josmiley,

    Je vous remercie vivement pour l'interêt que vous portez à ma question et je m'excuse pour ma réponse tardive...

    Mon but et de créer une communication entre python et un logiciel de simulation (Speos) intégré sous Catia V5.

    J'ai déjà un code sous visual basic qui gere cette communication et je veux le traduire en Python. Pour cela je bloque sur cette expression sous VB:

    oPTSpeosNodeSimulation1 = oPTSpeosNodeRoot1.Item("Simulations")

    Qui demande à Speos de nomé oPTSpeosNodeSimulation1 par Simulations (dans la liste du logiciel)

    un autre exemple encore :

    product1.Parameters.Item(params_name(1)).Value = passpara(1)

    avec :

    product1: l'objet catia
    Parameters : les parametres géometriques de l'objet catia

    L'expression demande au logiciel catia de donner la valeur passpara(1) à params_name(1)

    Pour celà j'aimerais bien avoir l'expression correspendante en python si c'est possible

    je vous remercie vivement

    cordialement

    saimyas

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Item ? Value ? Ca me fait penser à une interface COM. C'est sans doute la méthode utilisée pour communiquer avec Catia (et/ou Speos).

    Il est possible d'utiliser COM en Python avec PyWin32, mais cela nécessitera certainement que tu comprennes ce que tu fais...

    Une fois l'instanciation COM effectuée, le code sera presque le même qu'en VB (la méthode Item s'appellera aussi Item en Python, puisque c'est une méthode COM, pas une méthode spécifique à un type VB).

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    Bonjour dividee

    Effectivement j'ai installer PyWin32 et quand je fait appel à catia j'utilise ce code :

    import win32com.client
    >>catapp = win32com.client.Dispatch("CATIA.Application")% Etablir la communication avec catia V5

    >>doc=catapp.ActiveDocument.Product
    >>doc=doc.ReferenceProduct
    >>nb_rayon=doc.Parameters.Item("nbrayon") % Entrer le nombre de rayon
    >>doc.Update() % Mise à jour


    Pour le code en VB pour lancer SPEOS qui est integré dans catia V5 est le suivant:

    Dim speosCAAProduct1 As OPTSpeosCAAProduct

    Dim speosNode1 As OPTSpeosNode

    Dim speosNodeSimulation1 As OPTSpeosNodeSimulation

    Set speosCAAProduct1 = doc.GetItem("OPTVBExtension")

    Set speosNode1 = speosCAAProduct1.SpeosCAA

    Set speosNodeSimulation1 = speosNode1.Item("Simulations")


    j'ai essayer de rajouter ce code au premier en python:

    >>speosCAAProduct1 = doc.GetItem("OPTVBExtension")
    >>speosNode1 = speosCAAProduct1.SpeosCAA

    jusqu'au là ça marche bien , mais une fois je rajoute cette ligne:

    >>speosNodeSimulation1 = speosNode1.Item("Simulations")

    j'ai ce message d'erreur :

    Traceback (most recent call last):
    File "<pyshell#8>", line 1, in <module>
    speosNodeSimulation1 = speosNode1.Item("Simulations")
    AttributeError: 'function' object has no attribute 'Item'


    Pour cela je comprend pas pourquoi il prend pas en compte le Item alors que dans la premier expression de Item ( >>nb_rayon=doc.Parameters.Item("nbrayon") ) c'est bien pris en compte...

    Je vous remercie vivement

  9. #9
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut
    Je ne connais rien à com, mais
    j'ai essayer de rajouter ce code au premier en python:

    >>speosCAAProduct1 = doc.GetItem("OPTVBExtension")
    >>speosNode1 = speosCAAProduct1.SpeosCAA
    jusqu'au là ça marche bien , mais une fois je rajoute cette ligne:

    >>speosNodeSimulation1 = speosNode1.Item("Simulations")
    Il me semple qu'ici SpeosNode1 n'est pas le résultat de la méthode SpeosCAA, mais la carrément la méthode !

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    Re Bonjour,

    Je viens de trouver la solution la voilà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import win32com.client
     catapp = win32com.client.Dispatch("CATIA.Application")
     doc=catapp.ActiveDocument.Product
     oPTSpeosNodeRoot1=doc.GetItem("OPTVBExtension").SpeosCAA()
     oPTSpeosNodeSimulation1=oPTSpeosNodeRoot1.Item("Simulations")
     oPTSimuInverse1=oPTSpeosNodeSimulation1.Item("Simu") % Simu est le nom de la simulation  
     
    oPTSimuInverse1.Update()
    cordialement

    saimyas

Discussions similaires

  1. Midi sous Python
    Par pfeuh dans le forum Général Python
    Réponses: 1
    Dernier message: 14/11/2006, 11h45
  2. Express Edition sous Mac
    Par pim75 dans le forum Oracle
    Réponses: 1
    Dernier message: 30/03/2006, 16h24
  3. Fonction addslashes sous Python ?
    Par ecocentric dans le forum Général Python
    Réponses: 2
    Dernier message: 28/01/2006, 18h27
  4. Existe-t-il un rad sous python?
    Par sloshy dans le forum EDI/RAD
    Réponses: 6
    Dernier message: 03/10/2005, 09h26
  5. [Regex] Expressions régulières: sous groupe
    Par debdev dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 07/07/2005, 14h10

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