Aller au contenu

pb pour accéder à une contrainte


Messages recommandés

Posté(e)

Bonjour à tous,

 

j'ai un nouveau pb. Il s'agit cette fois des contraintes d'assemblages en product. Pour créer des contraintes, aucun soucis. Par contre, je n'arrive pas à accéder à une contrainte (qui est renommée, c'est plus facile de la retrouver). Voici le code que j'utilise pour y accéder:

 

'je vais dans le product qui m'intéresse pour accéder aux contraintes:

 

Dim Ptirant As Product

Set Ptirant = newproduct1.Products.Item(1) 'pas de souci, c'est le bon product

 

Dim collec_contraintes3 As Variant

Set collec_contraintes3 = Ptirant.Connections("CATIAConstraints")

 

Dim const_ORIENT_CLAVETTE As constraint

Set const_ORIENT_CLAVETTE = collec_contraintes3.Item("Const_ORIENT_CLAVETTE") 'le clash arrive à cet endroit

 

Set angleORIENTCLAVETTE = const_ORIENT_CLAVETTE.Dimension

angleORIENTCLAVETTE.Value = 270

Stop

 

merci de vos remarques !

 

Gawel

Posté(e)

Re salut

 

Voila la proposition que je peu te faire, ce n'est que du bidouillage en attendant que quelqu'un te donne mieux mais si tu passais toutes les contraintes un par une en faisant un test sur le nom ca éviterait peut etre ce genre de problème non tu vois un truc tout bete du style : tu fais un count sur les contraintes et tu boucle en faisant ton test.

 

Je t'avais prévenu c'est vraiment du bidouillage mais des fois ca marche et ca permet d'avancer en attendant de trouver mieux.

 

Bonne journée

 

Enael

 

PS : Qu'est que tu ferais sans moi? mdr Peut être un code propre et sans rafistolage. <acronym class=dict title=

Posté(e)

OUuuhhhh !

 

alors là, je galère un peu, je patauge dans la semoule......

 

y'a forcément un truc qui me manque pour lire le nom de ces contraintes, ça fais déjà 2H que j'essaye de faire accoucher catia pour me sortir un nom qui me convient. J'sens qu'ça va être une journée du tonnerre, déjà que dehors, il fait pas beau mais alors pas beau du tout....

 

 

@+ tard

 

Gawel

Posté(e)

Je compatie.

 

Nous le brouillard vient de se lever, il y a tout juste 5 min. Ca pourrait d'être une journée radieuse :cool: <acronym class=dict title=

Mais catia c'est mon petit nuage tout nori très très noir qui fait plein d'éclair en tout sens. Rien de tel pour te gacher une journée.Enfin bref

 

C'est dommage que tu donnes pas plus d'indication sur ton problème parce que je ne peux rien faire pour toi dans ces conditions. A tout hasard quand même, les contraintes sont considérées comme des références donc si tu boucle sur les nom des références et que tu fait un test sur les réferences liées à ton esquisse, ca marcherait pas?

 

Enfin bon si jamais tu peux donner plus d'infos ce serait bien qui sait je pourrait peut être te pondre quelques lignes de codes qui pourraient te mettre sur la voie.

 

Enael

Posté(e)

Noir, le côté obscur, la force est !

 

Un peu plus de précision: les contraintes qui me concernent sont celles en assemblages, dans assembly design. Parmi ces contraintes, il y en a une que j'ai renommé pour la reconnaitre à tous les coups

 

j'ai 3 products sous un product: je vais sous le premier, pas de souci, le nom qu'il me donne est le bon:

Dim Ptirant As Product

Set Ptirant = newproduct1.Products.Item(1)

 

ensuite, j'appelle la collection relative aux contraintes d'assemblages lié à ce produit:

 

Dim collec_contraintes3 As Variant

Set collec_contraintes3 = Ptirant.Connections("CATIAConstraints")

 

je me suis fait un msgbox pour connaitre le nombre de contraintes:

MsgBox collec_contraintes3.Count

 

il me renvoie 9: c'est pile poil le nombre que j'ai.

 

Maintenant j'essaye de trouver ma fameuse contrainte "Const_ORIENT_CLAVETTE":

Dim const_ORIENT_CLAVETTE As constraint

Set const_ORIENT_CLAVETTE = collec_contraintes3.Item("Const_ORIENT_CLAVETTE")

 

et là il me dit que la méthode item a échoué. J'ai essayé aussi de faire une boucle, à chaque fois, ça plante; j'ai essayé de faire des remove, pareil. Il doit forcément manquer qqchose ou bien une erreur de variables.

 

Gawel

 

 

 

 

Posté(e)

ah la fameuse Clavette, celle la si on la tenait...

 

je ne sais pas ce que ce peut donner mais si tu fais un truc du style

 

Dim const_ORIENT_CLAVETTE

dim nb as integer

 

nb = collec_contraintes3.count

 

for i=1 to nb

 

Set const_ORIENT_CLAVETTE = collec_contraintes3.Item(i)

if const_orient_clavette.name="Const_ORIENT_CLAVETTE" then

...

end if

 

Next

 

Voila je sais pas si ca peut être très util et je pense que tu as déjà du l'essayer mais on ne sais jamais au cas où...

 

Tiens moi au courant

 

@+

 

Enael

Posté(e)

Ou alors tu fais

 

Dim const_ORIENT_CLAVETTE

dim nb as integer

 

nb = collec_contraintes3.count

 

for i=1 to nb

 

Set const_ORIENT_CLAVETTE = collec_contraintes3.Item(i)

msgbox const_orient_clavette

 

Next

 

Comme ca au moins tu seras sur si ta clavette est prise en compte ou pas

 

Enael

Posté(e)

Aïe !

 

ça coince toujours à l'item....

bizarre, mais tant pis s'il faut que j'y passe une journée de plus, il faut que je trouve !

 

@+ tard !

 

Gawel

Posté(e)

Arf ! Comme ca tot le matin...

 

La je commence à plus avoir trop trop d'idées sur la façon de faire... mais c'est peut être aussi parce que je ne suis pas encore bien réveillé.

 

Si jamais j'ai un truc qui me vient je te le fais parvenir.

 

Enael

Posté(e)

Pour l'instant, je vois où est le problème. Mais il faut bien que j'avance, donc je crois que je vais modifier mon approche. Au lieu d'aller piloter ma contrainte, je vais créer un paramètre qui pilotera ma contrainte.

 

Je rajoute encore une couche supplémentaire, mais au moins ça, je sais faire :D

 

@+ tard !

 

Gawel

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é