-
Compteur de contenus
58 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par jarabito
-
t'as bien raison armonic, d'ailleurs, je ne sais pas comment Franky a pu faire sa mise en plan sans avoir le 3D au préalable.. CATIA est prevu pour faire du 3D, le reste découle de ce 3D. Maintenant faire du 2D et vouloir faire l'operation 3D à partir de ça devient ce que les ricains appelent un overkill, CATIA étant un logiciel trop performant pour faire ce type de choses... vaut mieux un autre moins compliqué et moins cher...
-
comment tester l\'existence d\'un élémént Point dans un Set Géométrique
jarabito a répondu à un(e) sujet de programmeur25 dans Catia
Ben, il y a plusieurs façons de le faire. De tête, tu peux très bien faire un filtrage avant de faire l'extraction des coordonnées de chaque point. CAD pour chaque set geom, faire un search pour tes points, ajouter seulement les points dans une liste et puis faire l'extraction de coordonées de chaque point. Sinon, tu peux faire une detection d'erreur et lors d'un erreur faire la macro passer à l'element suivant, mais cette solution est un peux moins propre je trouve. Bonne chance et dis nous ce que 'auras fini par faire... ciao luis [Edité le 24/2/2009 par jarabito] -
comment tester l\'existence d\'un élémént Point dans un Set Géométrique
jarabito a répondu à un(e) sujet de programmeur25 dans Catia
Hmm, tu peux essayer de prendre ton set geom dans une selection et puis faire un search pour l'élément point. Je crois que ce serait le plus simple et rapide. Style oselection.clear oselection.add oHybBody oselection.search "'Generative Shape Design'.Point,sel" Nombre = oselection.count Msgbox "Vous avez " & Nombre & "points dans votre set géométrique" -
Bien sur, ce que je fait par exemple, lors que j'ai une macro qui marche avec des CATPart, est de mettre une detection d"erreur style On error resume next dim opartdocument as partdocument set opartdocument = CATIA.Activedocument If Err.Number <> 0 then On error goto 0 Err.clear msgBox "Cette macro ne marche qu'avec des CATPart, merci d'ouvrir fichier CATPart avant de la lancer" End If On error goto 0 ce qui fait que si tu n'as pas un catpart ouvert, t'auras un ptit message et puis la macro s'arrete sans aller vers l'editeur... En principe tu peux mettre directement le code d'erreur mais je ne me souviens pas exactement lequel c'était... cho luis [Edité le 15/1/2009 par jarabito]
-
La voila, ce que je voulais savoir, si on pouvait faire un set tata = Nothing.... merci boucoup pour les réponses... luis
-
Cool, je vais verifier ça tout de suite car j'ai deux ou trois variables qui doivent rester publiques et qui me cassent tout car elles ramassent et acumulent des choses. Merci Patrick Ciao Luis
-
Bonsoir à tous, une question... plutot de vba que de CATIA, mais c'est pour l'utiliser avec catia... Comment est-ce qu'on vide une variable publique??? (Public au lieu de dim) car je ne sais pas trop comment faire et mes variables publiques continuent à recuperer des infos... il me faut que VBA trouve un erreur ou quelque chose pour qu'elles se vident, sinon, à chaque fois que je fais tourner la macro, le nombre de valeurs recuperes s'accumule... Est-ce que quelqun a une idée?? Merci et bonne soirée luis
-
Et voila, je crois que j'ai trouvé comment faire.... Si tu declares la collection comme publique dans ton module, tu peux la recuperer avec la forme en faissant un Set Po_Forme = SectionMini.ColPoints et apres, il faut juste faire un Po_Forme.Remove ListBox1.ListIndex avec chaque point que tu effaces... maintenant il faut juste recuperer la collection dans le module et faire le spline :D
-
HAHHAHAHAH en fait, je vais un peu plus loin que ça, l'idée est une creation interactive des fibres neutres, et j'arrive à le faire en faissant une SelectElement directement sur CATIA (la selection des points), mais je voulais ajouter un peu de forme et afficher une fenetre qui donne à l'utilisateur ses points pour qu'il puisse travailler avec eux... mon souci par contre n'est pas comment comparer les objets en eux mêmes, elle porte plutôt sur comment pouvoir lire la collection ou la liste dans la forme et le module... Je bloque car je n'utilise pas enormement les formes, je passe plutôt par les modules, car jusqu'à maintenant je faissais de l'automatisation des analyses géométriques, et je n'avais pas vraiement besoin d'une forme... Maintenant que je dois (veux) le faire, je bloque un peu... le vb je l'ai pris completement en autoaprentissage et j'ai quelques trous par-ci et par-la... merci pour le coup de main... luis
-
Salut Marc, en fait non, je ne pensais pas utiliser le nom exact de chaque point, je pensais pouvoir eliminer les items de la collection selon leur index, et après faire la spline avec ce qui restait... Sur le petit code que j'ai posté il y avait juste la creation d'une liste avec le nombre des points dans la collection, et le traitement de la liste, mais je ne savais pas comment faire le lien entre les deux... si selon toi il faut passer par le nom des points, je vais modifier ça et faire differement... par contre, comment est-ce que je compare les elements dans la collection avec les elements dans la liste? :D merci [Edité le 8/1/2009 par jarabito]
-
Bonjour tout le monde, Je code une petite application et je viens de me taper contre un mur. Je ne sais plus quoi ou comment faire... J'ai une collection avec un nombre d'entités dans mon module, et je veux faire appel à une userform, montrer les entites dans un listbox et laisser l'utilisateur choisir s'il veut enlever des entites ou pas. En fait, je recupere des points, qui serviront à faire une spline, je veux dire à l'utilisateur "voila tous les points, si tu veux oter un, efface-le de la liste et puis clique sur ok". Je sais comment faire un listbox et le remplir, mais je ne sais pas comment integrer ma collection. Effacer un item d'un liste est facile, mais comment je fais le lien avec les items dans la collection??? Je fais un simple Public Sub Liste(Value) oCount = Value.count for Ii = 1 to oCount ListBox1.AddItem ("Point " & Ii) Next End Sub Pour remplir ma liste et un Public Sub SupButton_Click() If ListBox1.ListCount >= 1 then If ListBox1.ListIndex = -1 then MsgBox "Merci de choisir un point à enlever" Exit Sub End If ListBox1.RemoveItem (ListBox1.ListIndex) End If End Sub pour effacer des points. mais maintenant je ne sais pas comment dire voila, efface les mêmes points de la collection et reprends la main avec catia. Quelqun a une idée?? Merci à tous cho Luis [Edité le 8/1/2009 par jarabito]
-
Qu'est-ce que tu veux dire par ne pas pouvoir travailler avec? En principe, avec step tu recuperes un solide mort (tu pers donc l'arbre parametrique), mais tu peux encore le modifier. Quite à copier ton solide mort dans un nouveau catpart et le modifier par la suite... luis
-
Si tu veux être sur de tes assemblages et tes contraintes, va sur le module d'assembly design et dans le menu Analyse, va sur Degré(s) de liberté.... Cette analyse tu peux la faire pour n'importe quel niveau de ton assembly et comme ça tu pourras vérifier que tout soit bien attaché à tout... Pour le reste, peut-être quelqun d'autre pourra t'aider car je ne sais pas qu'est-ce qui se passe avec ton produit... bonne chance luis
-
Salut André. Ben oui, ce plus au moins la reflexion vers laquelle je voulais t'amenner. En principe tu dois toujours fixer ta première pièce d'asemblage avant de commencer à rajouter des choses. Comme ça tu gardes un "batî" qui ne bouge pas et tu t"évites ces soucis. Je voulais vérifier ça en ouvrant ton produit mais comme je n'ai pas la R18 je n'ai pas pu le faire mais, au moins t'est finalement tombé sur la réponse toi même. Bonne chance et bonne aventure ;) ciao luis
-
Salut André, un petit souci, t"est sur R18 non??? Je n'ai pas pu ouvrir tes fichiers car je suis en R16 et R17... Desolé, je ne pas comment t'aider maintenant...
-
Salut André, pas de souci, je vais essayer de regarder ça ce soir ou demain. Je ne promets rien mais on vera si on retrouve quelque chose de concret. Bonne jornée luis
-
Salut André, Desolé, comme ça de tête je n'ai aucune idée de comment régler ton problème. Je n'ai jamais rencontré un souci pareil et je ne sais pas trop comment t'aider sans avoir un example en main. C'est bizarre car ici on bosse dans une boîte où on a aux environs de 30 nouveaux assemblages par semaine et je t'avoue de n'avoir jamais vu un truc pareil. Courage luis
-
Salut marc, en fait oui, j'ai utilisé les visprops, seul problème, on ne peut pas changer la couleur des arêtes, juste leur epp. et leur type de ligne. Si on essaie de changer la couleur ça change la couleur du corps entier. J'ai aussi essayé une millième des façons pour voir si je pouvais sélectionner le corps et faire une recherche pour les arêtes, mais pas de bol. Il me sélectionne les arêtes congés entières, pas juste les arêtes vives et donc si on change les couleurs, ça change la couleur de la moitie du corps. Ce qui me bloque un peu c'est que visproperties ne donne pas une fonction pour la couleur des arêtes ou des lignes, et que si on sélectionne a la main un trait, et on essaie de modifier son couleur à l'aide de la barre d'outils des propriétés graphiques ça change aussi la couleur de toute la face (ou le congé ou quoique ce soit). Ce n'est qu’en ouvrant le menu des propriétés du corps de pièce qu'on peut colorier les arêtes. tchô luis
-
Salut André, T'est sur que le part que t'as utilisé comme base pour ton assemblage est bien centre sur les plans de base de CATIA? CAD, quand tu as commence chaque part, est-ce que tu l'as fait en respectant tes plans de base à chaque fois? Car peut-être que ton assemblage est décalé car le part de base est lui-même un peu de travers... c'est juste une idée... car je n'ai jamais eu ce souci... ciao luis
-
Est-ce que quelqun sait comment acceder à cette fonctionalité par code? Autre qu'appeler le menu via CATIA.StartCommand et envoyer des sendkeys... http://www.geocities.com/tuzoenduro/aretes.jpg Je souhaite changer la couleur et l'épaisseur des arêtes vives via code, mais je ne sais pas comment procéder. http://www.geocities.com/tuzoenduro/couleur.jpg Merci a tous pour votre aide. ciao luis [Edité le 2/12/2008 par jarabito]
-
hmmm, là t'est mal barré... CATIA est connu pour une assez faible fiabilité au moment d'utiliser des sendkeys...jusqu'à maintenant je n'avais jamais testé d'instantier un pcopy a partir du startCommand, désolé mais je ne pourrais pas t'aider avec ton probléme... Bonne chance, si t'arrives, fait signe, ça ne doit pas être facile...
-
et finalement ça n'as pas pris tellement du temps, voici le code... Dim factory As InstanceFactory Set factory = PartDest.GetCustomerFactory("InstanceFactory") factory.BeginInstanceFactory "Clip", "w:\0734\macros\tests\clip.CATPart" factory.BeginInstantiate factory.PutInputData "Plan_base", Plane_base factory.PutInputData "Plan_milieu", Plane_milieu factory.PutInputData "Plan_fond", Plane_fond Dim Instance As ShapeInstance Set Instance = factory.Instantiate factory.EndInstantiate factory.EndInstanceFactory PartDest.Update comme dit, assure toi que t'as bien selectionné les géométries d'entrée et que les noms sur ton powercopy sont les mêmes que sur ton code... ciao luis
-
Et ben, ouais, je l'ai quelque part me je ne la trouve pas pour l'instant, j'ai du changer de station à cause d'un disque dur mort et pour l'instant il me faut tout récuperer des archives... par contre, il faut savoir que: pour cette macro j'avais fait appel à un selectElement2 pour selectionner toutes les géométries requises pour inserer le pcopy et je les avais mis dans des variables il te faut bien renseigner le nom de la référence sur ton pcopy (exactement le même nom que sur ton pcopy) et le nom de ta variable dans ton code, sinon ça ne marche pas. tu dois le faire pour chaque référence (CAD si t'as 2 plans et 1 point, il te faudra faire la même manip. pour les 2 plans et pour le point. je vais essayer de trouver ma macro, je sais qu'elle est ici quelque part mais fouiller dans les archives prends du temps. bon boulot luis
-
Avant tout, quelle licence as-tu? Il te faut au moins une license KT1 (ou une KWA je ne suis pas trop sûr) pour pouvoir inserer des powercopies à partir d'un vba, Appart ça, InstanceFactory.BeginInstanceFactory "NameOf Reference", "C:\NameOfPowercopy.CATPart" est juste le debut, il te faut aussi: instanceFactory.BeginInstantiate instanceFactory.PutInputData "nom de la ref", nomdelaVariable Dim Instance as ShapeInstance set Instance = instanceFactory.Instantiate instanceFactory.EndInstantiate instanceFactory.EndInstanceFactory oPartDest.Update En fait, ta ligne renseigne juste le fichier à instantier, ensuite il te faut commencer l'instantiation, donner les parametres d'entrée et instantier le pcopy. Après tu fermes l'instantiation, le factory et tu faites un update... luis
-
Bonjour, je ne comprends toujours pas le besoin d'utiliser excel. Tu peux bien faire une macro qui exporte un screencapture de soit ton 3D soit ton plan, mais je ne vois pas ce que tu souhaites faire exactement. c.à.d. -tu souhaites faire un plan automatiquement, puis le coter puis l'exporter?? Catia ne sait pas générer des cotes automatiquement, les plans il faut les coter soi même. (si, elle le sait, mais les résultats ne sont pas toujours ce que t'espères trouver) -t'as déjà le 3D puis le plan et tu souhaites exporter le plan pour ajouter des cotes en plus? Pourquoi pas les ajouter directement sous CATIA? ?? [Edité le 9/10/2008 par jarabito] [Edité le 9/10/2008 par jarabito]
