|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 19 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : avril 2004 Messages : 675 ![]() |
c'est sensé faire quoi ?
|
|
|
10
|
|
|
#3 |
|
Membre Expert
![]() ![]() Inscription : décembre 2006 Messages : 2 197 ![]() |
On ne connait pas tous Visual Basic...
"Moi pas comprendre ce qui est demandé..."
|
|
|
00
|
|
|
#4 | |
|
Membre chevronné
![]() heu... Inscription : octobre 2007 Messages : 636 ![]() |
Citation:
Et c'est quoi le type python que tu utilises pour l'objet oPTSpeosNodeSimulation1 ?
__________________
"Plus je passe de temps à apprendre à parler à un ordi, plus je deviens aussi con que lui" -Moi- ![]() "La console python est votre amie, les print aussi" -Confucius- |
|
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 616 ![]() |
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. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 19 ![]() |
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 |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : mars 2007 Messages : 852 ![]() |
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). |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 19 ![]() |
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 |
|
|
00
|
|
|
#9 | |
|
Membre chevronné
![]() heu... Inscription : octobre 2007 Messages : 636 ![]() |
Je ne connais rien à com, mais
Citation:
__________________
"Plus je passe de temps à apprendre à parler à un ordi, plus je deviens aussi con que lui" -Moi- ![]() "La console python est votre amie, les print aussi" -Confucius- |
|
|
|
00
|
|
|
#10 | ||
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 19 ![]() |
Re Bonjour,
Je viens de trouver la solution Code :
saimyas |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com