Aller au contenu

Macros Catia récupérant le nom des Part activées dans un Product


Messages recommandés

Posté(e)

Ma mission est de réaliser une macro qui génèrera une nomenclature des Part activées (et uniquement celles-ci !!) par l'intermédiaire d'une Scène dans un Product.

 

J'explique la situation : qd j'ouvre un product, il est a peu près composé de 5000 Parts qui sont désactivées (réglale des Settings : Do not activate default shapes on open) afin de pouvoir l'ouvrir sinon Catia plante.

Dans ce produit je dispose de plusieurs scènes me permettant d'activer uniquement les pièces qui minteressent puis par un "apply scene on assembly" je récupère uniquement à l'écran les pièces sur lesquelles je dois travailler.

 

Il m'intéresserait à ce moment de récupérer le nom de ces pièces afin de réaliser une nomenclature.

Car lorsque l'on génere la nomenclature , elle contient toutes les Part du Product et on ne peut pas générer la nomenclature à partir de la scène.

 

Alors deux questions :

- y'a t'il un moyen de génerer une nomenclature à partir de la scène ?

- comment faire pour générer seulement la nomenclature des pièces activées ?

 

Je suis déjà partis sur plusieurs pistes :

- enregistrement de macros afin de voir ce qu'il se passe pendant le passage scène/Product et activation/désactivation mais je nài pas trouvé la solution

- A l'aide de l'outils "Edit-->Search" on peut mettre en surbrillance et retrouver uniquement le nom des pièces affichées à l'ecran.

 

Connaissez vous une commande permettant soit de retrouver le nom des pièces activées, surlignées ou une commande relevant le nom dans le cadre de la recherche ??

 

Un peu comme la méthode utilisée pour retrouver le nom d'éléments via la commande CATIA.StatusBar (voir le sujet en question sur le forum)

Ou encore en passant par la commande CATIA.ActiveDocument.Selection.Add(...)

 

Qu'en pensez vous ? je ne m'en sors pas tt seul !!

 

Posté(e)

Afi de mieux comprendre, j'utilise déja cette macro permettant de récupérer le nom des esquisses présentes dans une Part :

 

Dim myHybridBodies 'As mecmod.HybridBodies

Dim iel As Integer

Dim as_Liste As String

 

as_Liste = " "

 

'sketches of Hybrydbodies

For i = 1 To CATIA.ActiveDocument.Part.HybridBodies.Count

 

Set myHybridBodies = CATIA.ActiveDocument.Part.HybridBodies.Item(i)

 

For iel = 1 To myHybridBodies.HybridSketches.Count

 

Set mySketch = myHybridBodies.HybridSketches.Item(iel)

 

as_Liste = as_Liste & vbCrLf & mySketch.Name

 

Next iel

Next i

 

MsgBox (as_Liste)

 

-------------------------------------------------------

 

j'aimerai la modifier afin de relever les noms des Part dans un Product, ce ne doit pas etre bien difficile mais l'editeur VB me pose problème lorsque je lui spécifie un chemin avec des Product...

qq'un connait-il les spécifications à employer dans un Product ??

 

Voici la ligne qui me pose problème :

 

For i = 1 To CATIA.ActiveDocument.Product.Part.Count

 

merci d'avance si vous avez la réponse

 

 

Posté(e)

salut,

je suis pas du tout experte en cao, mais d'après ce que j'ai compris, ce que tu veux c'est récupérer le nom des parts sélectionnées dans ton product ?

j'ai fait une macro qui fait ça.. en fait elle sélectionne les pièces que je veux, récupère les noms et les exporte en csv (que tu peux lire avec excel ou même le bloc notes!)...

dis moi si ça t'intéresse..

  • 2 semaines après...
Posté(e)

Salut,

je pense en effet que ta macro peut me rendre service.

Peux-tu me dire ce qu'elle fait plus precisemment ? Par quel procédé ta macro connait les pièces que tu veux selectionner ?

Dis-moi comment tu préfères me faire parvenir ton code.

 

Merci

  • 1 mois après...
Posté(e)

Bonjour à tous ceux qui liront ce sujet,

 

et qui sont intéréssés pour créer des nomenclature partielles !

 

à titre indicatif, on peut arriver a récupérer les Parts visibles à l'écran et par la suite leur nom grace à l'outil de recherche Catia.

 

Cela se traduit dans le code par la ligne :

selection1.Search "Type=*,scr"

 

Pour récupérer toutes les Parts du produit, il suffit de demander :

selection1.Search "Type=Part,all"

 

Bonne programmation

 

Xavier

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité