Chyps
Membres-
Compteur de contenus
15 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Chyps
-
Bonjour David, Pour créer la CATPart avec les corps de pièce renommés, je te propose ce code: Sub CATMain() 'Déclarer une variable pour pouvoir manipuler la nouvelle CATPart facilement. Dim partPiece As PartDocument 'Décaration d'une variable de nombre entier: Dim i As Integer 'Créer une nouvelle CATPart et l'attribuer à la variable "partPiece". Set partPiece = CATIA.Documents.Add("Part") 'Renommer la pièce. partPiece.Product.PartNumber = "IPN-PO-XY-X-XY" 'Renommer le corps principal. partPiece.Part.Bodies.Item(1).Name = "IPN-PO-XXXX-XXX" 'Créer 3 nouveaux corps de pièce. For i = 1 To 3 partPiece.Part.Bodies.Add Next i 'Renommer les corps de pièce. partPiece.Part.Bodies.Item(2).Name = "NIN-Ø-XXXX" partPiece.Part.Bodies.Item(3).Name = "FICATIONDEN" partPiece.Part.Bodies.Item(4).Name = "Gurage" End Sub Ensuite je ne sais pas attribuer un matériau à une CATPart par VBA. Chyps
-
Autres lignes de codes intéressantes pour ton cartouche: Pour récupérer le nom du matériau: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Parameters.GetItem(drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.PartNumber & "\Matériau").Value Pour récupérer l'echelle en décimale (je ne sais pas la donner sous forme de fraction): MsgBox drwDocument.Sheets.Item(1).Views.Item(1).Scale MsgBox drwDocument.Sheets.Item(1).Views.Item(1).Scale2 je ne sais pas non plus expliquer la différence entre "Scale" et "Scale2". Chyps
-
Bonjour lecointep, Je n'ai pas eu le courage de me plonger dans ton programme donc je te laisse le plaisir d’intégrer ces lignes de codes à ta façon: Pour obtenir la propriété de la pièce mise en plan dans la première vue, première calque du plan : Sub CATMain() 'Attribuer le document actif dans CATIA (il faut, bien sûr, que le document actif soit le CATDrawing). Set drwDocument = CATIA.ActiveDocument 'Propriété Référence: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Name 'ou MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.PartNumber 'Propriété Révision: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Revision 'Propriété Définition: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Definition 'Propriété Nomenclature: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Nomenclature 'Propriété Source (vaut 0 pour "Inconnu", vaut 1 pour "Fabriqué" et vaut 2 pour "Acheté"): MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Source 'Propriété Déscription: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.DescriptionRef 'Propriété Masse: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.Mass 'Propriété Volume: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.Volume 'Propriété Surface mouillée: MsgBox drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.WetArea End Sub J’utilise la troisième vue (…Views.Item(3)…) car c’est la première vue utilisateur : Views.Item(1) correspont à Edition => Calque des vues Views.Item(2) correspont à Edition => Fond de calque Evidement, il faut remplacer "MsgBox" par l’objet "Text" correspondant pour lui attribuer la valeur de la propriété, exemple : par numéro de "Text" créé : drwDocument.Sheets.Item(1).Views.Item(2).Texts.Item(1).Text = drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.Mass ou par nom de "Text": drwDocument.Sheets.Item(1).Views.Item(2).Texts.GetItem("Texte_Masse").Text = drwDocument.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Analyze.Volume Bonne continuation pour ton projet, Chyps
-
Bonjour mooneck, Je ne connais pas l'existance d'un cache propres au VBA. Sinon, tu peux essayé d'exporter tous tes modules, userform, etc... dans un dossier. Puis tu crées un nouveau projet VBA à partir du poste qui pose problème. Enfin tu y importes tous tes modules, userform, etc... de ton dossier dans ce nouveau projet VBA. En espérant t'avoir aidé, Chyps
-
Bonjour, merci droopySCAT de ta réponse mais ce n'est pas la solution à mon problème mais effectivement j'ai utilisé ce type de procédé pour créer cette macro. Comme c'est un type de procédure récursive, ce sont les mêmes lignes de code qui sont lues mais elles ne fonctionnent pas dans les niveaux inférieurs du produit. Dans mon premier post, j'ai sorti la ligne qui pose problème et créé un exemple d'assemblage afin de mettre cette ligne en situation. Je vais essayer de reformuler mon problème en ciblant exactement ce qui m'intéresse: Pour cela, je vais décrire le CATProduct travaillé: - Démarrer CATIA V5 - Fichier => Nouveau... - Choisir "Product" puis "OK" (Le CATProduct "Produit1" a été créé) - Sélectionner "Produit1" dans le graph - Insertion => Nouveau composant (Le composant "Produit2" a été créé dans "Produit1") - Sélectionner "Produit2" dans le graph - Insertion => Nouvelle pièce (La pièce "Pièce1" a été créé dans le composant "Produit2") Maintenant la question est : Comment renommer l'instance de la pièce "Pièce1" par VBA? (Pour info: l'instance de pièce "Pièce1" est actuellement "Pièce1.1") J'ai essayé de répondre avec ce code mais il ne fonctionne pas: Sub CATMain() Dim prodProduitActif As ProductDocument Set prodProduitActif = CATIA.ActiveDocument prodProduitActif.Product.Products.Item(1).Products.Item(1).Name = "Instance_de_piece1_renommee" End Sub L'instance est toujours égal à "Pièce1.1" est non à "Instance_de_piece1_renommee"
-
Bonjour, je suis en train d'écrire une macro qui renomme toutes les instances dans un CATProduct. J 'arrive très bien à le faire pour les instances sous le niveau le plus haut (c'est à dire les pièces, composants ou produits directement sous la tête d'arboressance) mais pas pour les niveaux inférieurs (exemple: une pièce d'un composant du produit de tête). Est-ce que quelqu'un a une idée, une piste? Plus concrètement, voici un exemple d'arboressance avec le code que j'utilise: Format D 'affichage de l'arbre ci-dessous: PartNumber [instance] Product1 |-Part1 [instancePiece1] |-Part2 [instancePiece2] |-Product2 [instanceAsy2] => CATProdut ou Composant, c'est pareil. | |-Part3 [instancePiece3] | |-Part4 [instancePiece4] |-Part5 [instancePiece5] Dim prodProduitATraiter As Product Sub CATMain() 'Travailler avec le document actif dans CATIA, ici le produit "Product1" Set prodProduitATraiter = CATIA.ActiveDocument.Product 'Renommer l'instance "InstancePiece1" de la pièce "Part1" en "Part1.1" prodProduitATraiter.Products.Item(1).Name = "Part1.1" 'Fonctionne très bien 'Renommer l'instance d'un niveau inférieur, l'instance "InstancePiece3" de la pièce "Part3" en "Part3.1" prodProduitATraiter.Products.Item(3).Products.Item(1).Name = "Part3.1" 'Ne fonctionne pas du tout, comme si rien ne se passé. 'alors que le renommer en "InstancePiece4" (chose interdit par CATIA d'avoir deux instances indentiques sous le même niveau) génère bien une erreur. prodProduitATraiter.Products.Item(3).Products.Item(1).Name = "InstancePiece4" '(L'erreur se produit sur la R20 et pas sur la R17). 'Erreur: Run-time error '-2147467259 (80004005)': ' La méthode Name a échoué End Sub Pour info: prodProduitATraiter.Name = "Product1" prodProduitATraiter.Products.Item(1).Name = "InstancePiece1" prodProduitATraiter.Products.Item(1).PartNumber = "Part1" prodProduitATraiter.Products.Item(2).Name = "InstancePiece2" prodProduitATraiter.Products.Item(2).PartNumber = "Part2" prodProduitATraiter.Products.Item(3).Name = "InstanceAsy2" prodProduitATraiter.Products.Item(3).PartNumber = "Product2" prodProduitATraiter.Products.Item(3).Products.Item(1).Name = "InstancePiece3" prodProduitATraiter.Products.Item(3).Products.Item(1).PartNumber = "Part3" prodProduitATraiter.Products.Item(3).Products.Item(2).Name = "InstancePiece4" prodProduitATraiter.Products.Item(3).Products.Item(2).PartNumber = "Part4" prodProduitATraiter.Products.Item(4).Name = "InstancePiece5" prodProduitATraiter.Products.Item(4).PartNumber = "Part5" Comment renommer une instance d'un niveau inférieur? Merci davance, Chyps
-
Bonjour, Je suis complètement novice en macro CATIA V5 et pourtant je voudrais tout connaitre!! Alors si vous avez des tutorials sur le VB, VBA, CATSript de CATIA (je ne connais pas encore la différence entre tous..), je suis preneur. Par exemple je voudrais faire une macro qui: - Ouvre une nouvelle Part - Crée une esquisse sur le plan XY - Trace un rectangle symétrique par rapport au repère et coté les 2 longueurs. - Extruder. Idéalement la macro demanderait quelles valeurs mettre en longueur, largeur et hauteur. Merci d'avance. Bonne soirée.
-
Bonjour, je voudrais bien les tutorials Merci beaucoup. chyps17@hotmail.fr
-
Bonjour, J'ai enfin réussi!! Merci XGX4, grâce à ta réponse et de la bidouille je suis enfin parvenu au résultat. Merci gawel de ton implication mais le problème ne venait pas de là. Mon problème était que je n'avais pas intégré le tableau de paramètre dans la CATPart, et c'est pour cela qu'il me mettait un message d'erreur "Aucune table de paramètres trouvée." Je retrace la manipulation pour ceux qui serait intéressés. J'ai détaillé de A à Z. Mon but est de créer toutes les pièces en CATPart indépendantes. Je prend exemple ici avec des rondelles. Dans CATIA V5: Nouvelle Part. Sur le plan XY ouvrir une esquisse. Créer 2 cercles cotés en rayon. Extruder. Obtenez une rondelle (qui ressemble à rien) Cliquer sur "formule" (l'icône "F(x)" en noir): En bas, il y a un bouton "Créer paramètre de type" et choisir "Longueur" dans la liste à droite. Cliquer 3 fois sur ce bouton pour créer 3 paramètres de longueur. Cliquer "OK". Réglage des options nécessaire de CATIA: Outil => Options Dans l'arbre: Général => Paramètres et mesures Onglet "Connaissance" Cocher les cases: -Avec valeur -Avec formules Dans l'arbre: Infrastructure => Infrastructure Part Onglet "Affichage" Cocher les cases: -Contraintes -Paramètres -Relations Dans l'arbre de la CATPart: à Paramètres: Double clic sur "Longueur.1" renommer en "Diametre exterieur" avec une valeur de 2.2mm Double clic sur "Longueur.2" renommer en "Diametre interieur" avec une valeur de 5mm Double clic sur "Longueur.3" renommer en "Epaisseur" avec une valeur de 0.5mm Double clic sur le 3D de la rondelle et les cotes apparaissent: Les 2 rayons et la hauteur d'extrusion. Double clic sur le chiffre de la cote du rayon intérieur, la fenêtre d'édition de la cote apparaît et faire un clic droite sur le nombre puis "Editer formule..." Cliquer dans l'arbre le paramètre "Diametre exterieur". Cliquer "OK". Et "OK". Idem pour le le diamètre extérieur. Dans la fenêtre "Définition de l'extrusion" (en double cliquant sur le 3D) Clic droit sur le nombre puis "Editer formule..." Cliquer dans l'arbre le paramètre "Epaisseur". Cliquer "OK". Et "OK". Dans un Excel: Il faut respecter les minuscules et les majuscules pour "PartNumber" Écrire dans un nouveau tableau: PartNumber | Diametre exterieur (mm) | Diametre interieur (mm) | Epaisseur (mm) Rondelle M2 | 2,2 | 5 | 0,5 | Rondelle M3 | 3,3 | 6 | 0,5 | Rondelle M4 | 4,5 | 8 | 0,8 | Rondelle M5 | 5,5 | 10 | 1 | (ces valeurs ne correspondent à rien, c'est pour l'exemple) l'enregistrer en .xls Dans CATIA V5: -------------- Revenir dans la CATPart. Maintenant il faut associer le tableau à la CATPart: Cliquer sur l'icone "Table de paramètrage" (la grille à droite de "F(x)") Cliquer "OK" Selectionner le fichier Excel. Enregistrer et fermer la pièce. Demarrer/ Infrastructure / Editeur de catalogue Cliquer sur "Chapitre.1" dans l'arborescence à gauche pour qu'il devienne orange. Clique sur l’icône : "Ajoute une famille de pièces" (la grille avec la première ligne bleu et une flèche vers 3 feuilles oranges) une fenêtre apparait. "Famille de pièces" Cliquer sur le bouton "Sélectionner un document" et aller chercher la rondelle CATPart "Ouvrir" "OK" Cliquer droit sur "FamilleDePièces.1" dans l'arbre sous "Chapitre.1" "Objet FamilleDePièces.1" => "Résoudre" Cliquer sur l'onglet "Référence" on peut y voir l'adresse de stockage des CATPart: exemple: C:\Documents and Settings\Administrator\Local Settings\Application Data\DassaultSystemes\CATTemp Les copier dans un autre dossier pour les garder.[Edité le 3/12/2009 par Chyps] [Edité le 11/12/2009 par Chyps]
-
Bonjour, j'ai entendu parlé d'une solution qui avait fonctionné: D'abords, il faut installé CATIA V5 sur un windows XP. Ensuite il faut copier le dossier "Dassault Systeme" qui se trouve, par défaut, dans "C:\Program Files\" et le mettre sur une clé USB ou, au mieux, sur un disque dur externe. Après il faut aller dans Windows Vista et copier le dossier "Dassault Systeme" du Windows XP dans l'équivalent de Vista. Peut-être "C:\programmes\" Une fois le transfert fait, il faut créer un nouvel environnement: Il faut aller dans le menu "Démarrer" de Vista, "programmes", "Dassault Systeme" et "Tools". Dedans il devrait y avoir "Environment Editor V5 R...". Une fenêtre s'ouvre: dans la barre de menu du haut, il faut cliquer "Environements" puis "Nouveau". Mettre le nom que l'on veut et cliquer "OK". Pour démarrer CATIA V5, il faut maintenant utiliser l'icône que "Environment Editor V5 R..." a créé sur le bureau. Le gros défaut de cette solution est que la manip de copier coller peut prendre quelques heures... Il y a tellement de fichiers... Bon courage...
-
Bonjour et merci pour ta réponse mais... je n'ai pas réussi à le faire. (Pour info: j'ai CATIA V5 R17 sur windows XP avec Excel 2007) je ne sais pas si c'était utile... alors voilà je ce que j'ai fais: 1- Création de la pièce paramétrée. ---------------------------------------------- J'ai créé une nouvelle CATPart pour faire une goupille simplifié. Je clique sur formule (l'icône "F(x)" en noir) et je cré 2 paramètres de longueur que j'appelle "diametre" de 2mm et "longueur" de 10mm. (au passage, est ce qu'avec les accents et les majuscules dans les noms des paramètres, cela fonctionne?) J'ai réglé les options pour qu'ils apparaissent dans l'arborescence ("Relations" et "paramètres"). Ensuite je trace, dans une esquisse, un cercle coté. J'édite la cote pour lui attribuer la formule "diametre". Après je fais une extrusion du cercle et j'attribue à la longueur d'extrusion la formule "longueur". "OK" et j'obtiens ma goupille paramétré. 2- Création de la table de paramétrage. ---------------------------------------------------- Maintenant je clique sur l'icône "Table de paramétrage" (une grille avec la première ligne bleu) Je sélectionne la deuxième option: "Créer une table de paramétrage avec des paramètres du modèle courant" Orientation: "verticale" est déjà sélectionné. Je clique "OK". Une nouvelle fenêtre apparait: je filtre par "paramètres renommés" et en bas s'affiche mes paramètres: diametre longueur Je l'ai fais passé de l'autre coté avec la flèche. et je clique "OK". il me demande de sauvegarder "DesignTable1.xls" "Enregistrer" 3- Remplir le Tableau. ---------------------------- Je vais dans windows pour ouvrir "DesignTable1.xls" avec Excel 2007. Un message d'erreur apparait: Le format du fichier que vous tentez d'ouvrir, "DesignTable1.xls", est différent de celui spécifié par l'extension de fichier. Assurez-vous que le fichier n'est pas endommagé et qu'il provient d'une source fiable avant de l'ouvrir. Souhaitez-vous ouvrir le fichier maintenant ? Oui Non Aide Je clique "oui". le tableau est vierge. je le rempli : PartNumber diametre (mm) longueur (mm) Goupille1 2 10 Goupille2 2 20 Goupille3 3 10 Goupille4 3 20 Goupille5 4 10 Goupille6 4 20 après, sauvegardé. 4- l'ouvrir dans CATIA ---------------------- Puis, dans catia, Demarrer/ Infrastructure / Editeur de catalogue Je clique sur "Chapitre.1" dans l'arborescence à gauche pour qu'il devienne orange. Je clique sur l’icône : "Ajoute une famille de pièces" (la grille avec la première ligne bleu et une flèche vers 3 feuilles oranges) une fenêtre apparait. "Famille de pièces" Nom:FamilleDePièces.2 Type:Standard onglet "Référence" Type: Nom de document: Ile y a un bouton "Sélectionner un document" Je clique dessus, est me demande de choisir un "CATPArt". C'est là que je suis bloqué, je ne sais pas comment faire pour choisir le "DesignTable1.xls". Alors j'ai essayé de sélectionné ma CATPart comment il me le propose. Je clique "OK" et un message dit: Aucune table de parametres trouvée. En résumé: voilà où je suis bloqué, il y a peut être un problème de compatibilité entre le "DesignTable1.xls" créé par CATIA et Excel 2007. et aussi je ne sais pas sélectionné le "DesignTable1.xls" comme tu m'a dit de faire dans la fenêtre "Famille de pièces". Merci pour ta patience... [Edité le 14/8/2009 par Chyps]
-
Bonjour, Est ce que quelqu'un pourrait me donner une explication complète pour créer sa propre bibliothèque de visserie sous CATIA V5 avec Excel? Tous ce que je sais, c'est qu'il faut commencer par créer une pièce qui va servir de modèle pour créer les autres pièces avec les dimensions différentes. Après dans Excel il faut créer un tableau avec marqué dans la case A1 "PartNumber" et pour les colonnes et les lignes, je ne sais plus. Merci d'avance de m'aider.
-
Bonjour, je n'ai pas la réponse mais j'aurais juste une question: est ce que tu as une version de Catia en 64 bits sur ton Windows 64Editon?
-
Bonjour, Lorsque je lance l'installation de CATIA V5, le message suivant apparait: " Erreur lors de l'installation du Service Pack Vous devez installer le code de Niveau B18 avant d'installer le service pack." Si vous avez le moindre conseil à me donner, merci de m'aider
-
Bonjour, je voudrais savoir si il existe une version de Catia V5 Pour Windows XP 64Edition. Y a-t-il une version spécifique ou depuis une certaine version (V5 R16, R17 ou R18...) il intègre ces capacités? Merci d'avance
