mooneck Posté(e) le 24 juillet 2006 Posté(e) le 24 juillet 2006 Bonjour à tous Est-ce que quelqu'un connais le code pour activer désactiver un composant ? [surligneur] "Menu contextuel / Objet / Activer-Désactiver le composant"[/surligneur] Je souhaite d'abord tester si le chaque composant est désactivé pour l'activer automatiquement. De la meme manière, je souhaiterais faire un test de "lien mort" pour chaque element de l'assemblage. J'ai déja la boucle récursive, j'ai juste un peu de mal avecl'aide catia v5 automation ! :( si quelqu'un a un début de piste ou mieux : "the solution !" je l'en remercie d'avance. J'ai tester ca mais ca ne fais pas grand chose a part activer la reprsentation ! NouveauProduitPourAnalyse.ActivateDefaultShape @+ [Edité le 24/7/2006 par mooneck] Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
8_pool Posté(e) le 25 juillet 2006 Posté(e) le 25 juillet 2006 Salut mooneck ! Ah bon, t'as du mal avec l'aide de Catia Automation :o :o :o Qui n'en a pas ????? Pour ton soucis d'activer/désactiver un composant, ben j'ai aussi cherché et j'ai pas trouver grand chose, si ce n'est une méthode IsInactive mais qui ne fonctionne que sur les opérations d'un part.Un by-pass pourrait peut-être consister à modifier le paramètre qui gère l'activité d'un composant, mais il faut le trouver dans la collection des paramètres :o :o Tiens en passant, je n'ai même pas trouver comment savoir si un composant est caché ou non. si tu sais, je suis preneur... Pour ce qui est du lien mort, j'avais déjà cherché (mais rapidement) pour tester le lein d'un part vers le catalogue des matériaux. Je m'en étais sorti en affichant le nom du document catalogue : si je n'avais pas de nom, c'est que le lien n'existe pas. C'est pas top, mais .... Je continuerai de chercher après le déjeuner (on travaille mieux le ventre plein !!). Ciao :cool:
mooneck Posté(e) le 25 juillet 2006 Auteur Posté(e) le 25 juillet 2006 Bonjour 8_pool Merci pour ta réponse. Je vais regarder cette méthode lsInactive de plus pres.Je vais aussi regarder si jez trouve quelque chose du coté des parametres.J'ai un bout de code pour récupérer des parameter d'une collection catia mais il s'agit des parametres de catia lui meme. Il me semble que j'ai deja travaillé sur la propriete hidden d'un composant. Mais comme ca fait environ un an que je n'ai plus touché à Catia il faut que je fouille.Je dois faire une petite intervention chirurgicale sur mon unité centrale et je regarde apres. Concernant ta méthode concernant les liens morts : j'ai en fait a peu pres la meme. A savoir, des que une méthode .partnumber ou .path me renvoi un code erreur j'en conclu que le lien est mort. Je travaille beaucoup avec la gestion des erreur. Mais ca ne me parait pas tres propre comme code.Se servir de "on error goto" pour continuer a traiter des composants !! :casstet: Bon appétit et @+ Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
mooneck Posté(e) le 25 juillet 2006 Auteur Posté(e) le 25 juillet 2006 8_pool J'ai retrouvé le code qui permet de mettre en noshow certains elements voici un exemple : Public Sub NoShow_Plans_et_Droites() On Error Resume Next Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = productDocument1.Selection Dim selection2 As Selection Set selection2 = productDocument1.Selection Dim specsAndGeomWindow1 As SpecsAndGeomWindow Set specsAndGeomWindow1 = CATIA.ActiveWindow Dim viewer3D1 As Viewer3D Set viewer3D1 = specsAndGeomWindow1.ActiveViewer Dim viewpoint3D1 As Viewpoint3D Set viewpoint3D1 = viewer3D1.Viewpoint3D selection1.Search "CATPrtSearch.Plane.Visibility=Visible,all" selection1.VisProperties.SetShow catVisPropertyNoShowAttr viewer3D1.Reframe viewer3D1.Update selection2.Search "CATPrtSearch.Line.Visibility=Visible,all" selection2.VisProperties.SetShow catVisPropertyNoShowAttr viewer3D1.Reframe viewer3D1.Update End Sub @+ Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
mooneck Posté(e) le 26 juillet 2006 Auteur Posté(e) le 26 juillet 2006 8_pool Je n'ai pas trouvé la méthode IsInactive dont tu me parles.Pourrais tu m'en dire un peu plus sur cette méthode as tu un exemple ? :( Merci d'avance Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
8_pool Posté(e) le 25 octobre 2006 Posté(e) le 25 octobre 2006 Mooneck, Je sais, cela fait 3 mois que le sujet est ouvert, mais mieux vaut tard que jamais et je m'étais un peu éloigné de Catia et du VB pendant ceet intermède.... Au cas ou ça t'intéresse toujours (mais je crains que tu n'est déjà trouver une solution), je viens de trouver comment tester l'état d'activation du produit/composant et changer cet état : il s'agit du paramètre "Etat d'activation du composant" !! V'la un p'tit bout de code : ' Affectation des variables Set oActive_Doc = CATIA.ActiveDocument Set oRootProduct = oActive_Doc.Product Set cProducts_List = oRootProduct.Products Set cParameters_List = oRootProduct.Parameters ' Test sur les produit de niveau -1 For i = 1 To cProducts_List.Count __Set cParameters_List1 = cParameters_List.SubList(cProducts_List.Item(i), False) __For j = 1 To cParameters_List1.Count ____Set oParam = cParameters_List1.Item(j) ____If (Mid(oParam.Name, InStrRev(oParam.Name, "\") + 1) = "Etat d'activation du composant") And (oParam.Value = False) Then ______oParam.Value = True ____End If __Next j Next i Le hic c'est que si tu as un système en anglais, le paramètre change de nom !!!! Et merci pour le Show/Noshow :-) :-) Ciao :cool:
mooneck Posté(e) le 25 octobre 2006 Auteur Posté(e) le 25 octobre 2006 8_pool J'avais aussi trouvé ce code. Merci quand mêmeJ'aurai du fermer le sujet et le marquer comme résolu ! :exclam: Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant