Communauté
Inventor - Français
Bienvenue sur les forums Inventor d’Autodesk. Partagez vos connaissances, posez des questions, collaborez sur des idées, et explorez les sujets Inventor populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Inventor : Obtenir une face d'un composant avec python

2 RÉPONSES 2
RÉSOLU
Répondre
Message 1 sur 3
oscar_dls
211 Visites, 2 Réponses

Inventor : Obtenir une face d'un composant avec python

Bonjour à tous,

 

Je suis en train de réaliser un code python pour automatiser un assemblage mécanique sur inventor et je rencontre un problème pour récupérer la face d'un composant dans mon code.

Pour obtenir les plans dont j'ai besoin, j'utilise cette méthode : 

 

# définition plans et faces du composant
masAPi_wp_YZ = comp.Definition.WorkPlanes.Item(1)
masAPi_Face_impl = comp.SurfaceBodies.Item(1).Faces.Item(2) # Problème ici
masAPi_wp_XY = comp.Definition.WorkPlanes.Item(3)

# proxys pour exploiter les entités du composant
masAPiYZ = comp.CreateGeometryProxy(masAPi_wp_YZ)
masAPiImpl = comp.CreateGeometryProxy(masAPi_Face_impl)
masAPiXY = comp.CreateGeometryProxy(masAPi_wp_XY)

 

Cette méthode fonctione bien avec les plans de travail mais le problème est que j'obtiens la face dont j'ai besoin avec le numéro de l'entité (2) et non son nom ("Face_impl").

Je n'ai pas trouvé de solution, j'ai essayé de l'écrire comme ceci : "comp.SurfaceBodies.Item(1).Faces.Item("Face_impl")", mais il ne trouve pas la face.

 

J'ai également essayé de créer un plan de construction mais ça ne fonctionne pas non plus.

 

odelouis_0-1704448982211.png

 

Si vous avez des idées n'hésitez pas à me répondre.

Merci d'avance ! 🙂 


Le titre du sujet a été modifié par un modérateur pour faciliter la recherche. Titre original:
Obtenir une face d'un composant avec python

Étiquettes (8)
2 RÉPONSES 2
Message 2 sur 3
ThomasB44
en réponse à: oscar_dls

Salut @oscar_dls 

Je ne connais pas Python, mais en VB.NET pour accéder à une face nommée comme tu l'indiques, il faut passer par cette commande iLogic :

Named Entities

Ce qui peut donner ceci par exemple :

Dim partDoc As PartDocument = ThisDoc.Document
Dim namedEntities = iLogicVb.Automation.GetNamedEntities(partDoc)
Dim face0 As Face = namedEntities.FindEntity("Face0")
face0.Appearance = partDoc.AppearanceAssets(2)

 


Thomas
Mechanical Designer / Inventor Professionnal 2023
Inventor Professional EESignature

Message 3 sur 3
patrick.emin
en réponse à: oscar_dls

Bonjour @oscar_dls 

Parmi les réponses qui vous ont été données, si une (ou plusieurs) d'entre elles apporte une solution à votre problème ou vous a permis de mieux l'analyser et le comprendre, voulez vous avoir l'amabilité de cliquer sur le bouton  APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report