Macro pour compter les objet dans un corps principal
2 participants
Page 1 sur 1
Macro pour compter les objet dans un corps principal
Bonjour,
je suis sur que certain d'entre vous pourront m'aider.
Voila j'essaie avec une macro de compter le nombre d'éléments solide dans mon corps principal et ensuite d'afficher dans un msgbox le nombre.
Voila le code que j'ai fait (basique) mais qui me renvoie toujours la valeur 1. Des idées ?
Sub CATMain()
Dim MyPart As Part
Dim MyBodies As Bodies
Set MyPart = CATIA.ActiveDocument.Part
Set MyBodies = MyPart.Bodies
MsgBox (MyBodies.Count)
End Sub
Merci de votre aide.
je suis sur que certain d'entre vous pourront m'aider.
Voila j'essaie avec une macro de compter le nombre d'éléments solide dans mon corps principal et ensuite d'afficher dans un msgbox le nombre.
Voila le code que j'ai fait (basique) mais qui me renvoie toujours la valeur 1. Des idées ?
Sub CATMain()
Dim MyPart As Part
Dim MyBodies As Bodies
Set MyPart = CATIA.ActiveDocument.Part
Set MyBodies = MyPart.Bodies
MsgBox (MyBodies.Count)
End Sub
Merci de votre aide.
douddy- timide
- Messages : 9
Date d'inscription : 16/05/2014
Localisation : Terre
Re: Macro pour compter les objet dans un corps principal
tu dis
" le nombre d'éléments solide dans mon corps principal "
Ce n'est pas possible, 1 corps = un solide (même si tu dessine plusieurs volumes distincts dans le même corps)
Ta macro marche bien, si tu ajoutes des corps ça compte bien.
corps = body
" le nombre d'éléments solide dans mon corps principal "
Ce n'est pas possible, 1 corps = un solide (même si tu dessine plusieurs volumes distincts dans le même corps)
Ta macro marche bien, si tu ajoutes des corps ça compte bien.
corps = body
Guss_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Macro pour compter les objet dans un corps principal
Merci ça a fonctionné.
Cependant ce code n'était qu'une partie de ce que j'essaie de faire.
En réalité, j'essaye d'appliquer un facteur d'échelle à tous les corps dans mon part.
C'est pourquoi je voulais compter tous les corps pour faire une boucle For allant de i = 1 à bodies.count
Cependant, j'ai un problème dans ma boucle For. En réalité je ne suis pas sur de la syntaxe pour accéder à chaque itération, chaque corps et lui appliquer le facteur d'échellle. C'est pas un code compliqué mais je bute sur la syntaxe et c'est embetant.
Si quelqu'un pouvait m'aider.
Voila le code que j'ai fait :
Language="VBSCRIPT"
Sub CATMain()
'Creation du paramètre
Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set parameters1 = part1.Parameters
Set realParam1 = parameters1.CreateReal("", 0.000000)
realParam1.Rename "facteur echelle"
realParam1.Value = 1.000000
'Creation du point
Set body1 = bodies1.Item("Corps principal")
part1.InWorkObject = body1
Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(200.000000, 0.000000, 0.000000)
body1.InsertHybridShape hybridShapePointCoord1
part1.InWorkObject = hybridShapePointCoord1
Set body1 = bodies1.Item("Corps principal")
part1.InWorkObject = body1
part1.Update
'Boucle FOR
For i = 1 To bodies1.Count
Set body = bodies1.Item(i)
part1.InWorkObject = body
Set shapeFactory = part1.ShapeFactory
Set hybridShapes = body.HybridShapes
Set hybridShapePointCoord = hybridShapes.Item("Point.1")
Set reference = part1.CreateReferenceFromObject(hybridShapePointCoord)
Set scaling21 = shapeFactory.AddNewScaling2(reference, 0.500000)
part1.InWorkObject = scaling21
part1.Update
Next
End Sub
Cependant ce code n'était qu'une partie de ce que j'essaie de faire.
En réalité, j'essaye d'appliquer un facteur d'échelle à tous les corps dans mon part.
C'est pourquoi je voulais compter tous les corps pour faire une boucle For allant de i = 1 à bodies.count
Cependant, j'ai un problème dans ma boucle For. En réalité je ne suis pas sur de la syntaxe pour accéder à chaque itération, chaque corps et lui appliquer le facteur d'échellle. C'est pas un code compliqué mais je bute sur la syntaxe et c'est embetant.
Si quelqu'un pouvait m'aider.
Voila le code que j'ai fait :
Language="VBSCRIPT"
Sub CATMain()
'Creation du paramètre
Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set parameters1 = part1.Parameters
Set realParam1 = parameters1.CreateReal("", 0.000000)
realParam1.Rename "facteur echelle"
realParam1.Value = 1.000000
'Creation du point
Set body1 = bodies1.Item("Corps principal")
part1.InWorkObject = body1
Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(200.000000, 0.000000, 0.000000)
body1.InsertHybridShape hybridShapePointCoord1
part1.InWorkObject = hybridShapePointCoord1
Set body1 = bodies1.Item("Corps principal")
part1.InWorkObject = body1
part1.Update
'Boucle FOR
For i = 1 To bodies1.Count
Set body = bodies1.Item(i)
part1.InWorkObject = body
Set shapeFactory = part1.ShapeFactory
Set hybridShapes = body.HybridShapes
Set hybridShapePointCoord = hybridShapes.Item("Point.1")
Set reference = part1.CreateReferenceFromObject(hybridShapePointCoord)
Set scaling21 = shapeFactory.AddNewScaling2(reference, 0.500000)
part1.InWorkObject = scaling21
part1.Update
Next
End Sub
douddy- timide
- Messages : 9
Date d'inscription : 16/05/2014
Localisation : Terre
Sujets similaires
» macro pour implanter un objet en fonction d'élément de référence existant
» CATIA - Macro de sélection d'objet depuis un liste excel
» macro pour recupérer les dimensions de la boite englobante dans un fichier texte ou excel
» macro pour désigner un endroit dans le drawing et créer un texte à l'endroit désigné
» Compter les éléments dans l'arbre
» CATIA - Macro de sélection d'objet depuis un liste excel
» macro pour recupérer les dimensions de la boite englobante dans un fichier texte ou excel
» macro pour désigner un endroit dans le drawing et créer un texte à l'endroit désigné
» Compter les éléments dans l'arbre
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|