CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-45%
Le deal à ne pas rater :
Harman Kardon Citation One MK3 – Enceinte intelligente ...
99 € 179 €
Voir le deal

Macro pour compter les objet dans un corps principal

2 participants

Aller en bas

Macro pour compter les objet dans un corps principal Empty Macro pour compter les objet dans un corps principal

Message par douddy Ven 30 Mai 2014 - 23:29

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.

douddy
timide
timide

Messages : 9
Date d'inscription : 16/05/2014
Localisation : Terre

Revenir en haut Aller en bas

Macro pour compter les objet dans un corps principal Empty Re: Macro pour compter les objet dans un corps principal

Message par Guss_ Lun 2 Juin 2014 - 14:46

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


Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Macro pour compter les objet dans un corps principal Empty Re: Macro pour compter les objet dans un corps principal

Message par douddy Lun 2 Juin 2014 - 15:46

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

douddy
timide
timide

Messages : 9
Date d'inscription : 16/05/2014
Localisation : Terre

Revenir en haut Aller en bas

Macro pour compter les objet dans un corps principal Empty Re: Macro pour compter les objet dans un corps principal

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum