moucr Posté(e) le 26 septembre 2006 Posté(e) le 26 septembre 2006 Bonjour à tous, Comme bcp d'entre nous je dois créer une macro pour mon boulot. Le sujet étant de créer les nomenclatures en automatique, j'ai créé une macro sous catia (vba)qui utilise la fonction nomenclature ; je crée un fichier excel que je manipule ensuite avec une macro excel afin d'obtenir la présentation de nos nomenclatures.je lance cette macro excel dans ma macro catia Je veux ensuite copier le fichier excel et le coller dans une vue nomenclature que je crée ds le drawing. 1er pb : Tout est ok , jusqu'au fameux copier coller 2eme pb : si j'essaie de coller un tableau supérieur à 40 lignes , le tableau est tronqué, c du je crois à une interface API de windows.est-il possible lors de ma macro excel de copier un morceau de mon tableau de le coller ds catia et de revenir à excel et de recoller ds catia etc ...... j'espere avoir été clair !
mooneck Posté(e) le 28 septembre 2006 Posté(e) le 28 septembre 2006 Si tu as une variablme qui contient le nombre de ligne de ta nomenclature.il suffit de sélectionner de la ligne n=0 debut de boucle ___n=n+1 ___sélectionner lignes n à n+40 ___copier ___coller dans catia boucler tant que nn <> nbre_de_ligne_total Par contre concernant les commandes, je n'ai pas eu le temps de les vérifierje ne sais pas si j'ai répondu a ta question ? A mon tour de te poser une question : comment utilises tu la fonction nomenclature sous catia depuis le vba ? Ton cas m'intersses car la nomenclature auto fait parti de mes projets futurs. @+ [Edité le 28/9/2006 par mooneck] Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
mooneck Posté(e) le 28 septembre 2006 Posté(e) le 28 septembre 2006 Petite précision supplémentaire, pourquoi copie tu le fichier excel en tant qu'objet ole dans catia.J'ai déja fait interagir du catia et du excel ensemble pour des tableaux de coordonnées de points, mais je reconstruis le tableau dans catia. as tu des impératifs ou y at-il des avantages que je ne connais pas ? Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
chucky Posté(e) le 29 septembre 2006 Posté(e) le 29 septembre 2006 salut! Je m'y atèle à partir de demain avec un pro donc je filerais les infos que j'aurais obtenues! Chucky
moucr Posté(e) le 2 octobre 2006 Auteur Posté(e) le 2 octobre 2006 merci pour vos réponses, et excusez moi de ne pas répondre plus tot mais j'ai plein de taf autre que cette macro à mon grd désespoir ! Mooneck je t'enverrais demain le bout de macros pour les nomenclatures mais j'suis pas un pro en script ! c une des rares choses que catia te donne qd tu enregistres une macro. En fait je dois sortir des nomenclatures sous format excel et sous catia. J'utilise les propriétés "definition" , "description" des parts et d'autres que j'ai du créer par exemple "designation anglaise", j'utilise dans une macro la fonction "nom auto" de catia , où j'appelle toutes ces propriétés et j'enregistre tout ça en .XLS puis toujours de la macro catia j'ouvre ce fichier et lance une macro excel où je supprime plein de lignes vides ou inutiles, et je triture le tout pour obtenir la présentation de nos noms : repere ! qté ! nom de la piece en fr. et en ang. l'un en dessous de l'autre ! norme ! Ayant fait ça je pensais qu'il serait simple de faire un copier coller dans une vue d'un drafting.donc a la fin de la macro je copie une partie de la nomenclature qd la macro excel est terminée, la macro catia reprend la main et c là que ça coince qd je veux coller ce qu'il y a ds le presse papiers Mais la d'autre pb apparaissent : je ne peux pas faire un copier coller de plus de 70 lignes sinon le tableau est tronqué. (API windows qui alloue un mini de mémoire d'apres Dassault)et il faut gérer les formats aussi (A4 A3 etc....) sinon, je ne vois pas comment obtenir ça en utilisant la fonction analyse de nomenclatures, le format des nom auto est pas configurable ou trés peu, et il n'est pas enregistrable. j'ai lu ds ce forum qu'on pouvait modifier la largeur des colonnes et leur nom ds des ptits fichiers mais j'ai pas regardé pour l'instant. Je suppose que c faisable par une macro dans catia, mais là faut que je cherche
mooneck Posté(e) le 3 octobre 2006 Posté(e) le 3 octobre 2006 Pour ton probleme de copier coller, tu peux essayer de contourner le probleme en lisant la nomenclature excel depuis catia et de mettre toute la nomenclature dans des variables tableau.une fois que la lecture est faite, tu n'a plus qu' a analyse quel format tu as en cours (ce qui te donne le nombre de lignes maxi a respecter), puis tu crée ton ou tes tableaux. voici mon mail si tu veux m'envoyer un peu de code d'exemple mooneck Merci d'avance [Edité le 3/10/2006 par mooneck] Connaître son ignorance est la meilleure part de la connaissance !http://mooneck.pagesperso-orange.fr/confucius_mini.gif
chucky Posté(e) le 3 octobre 2006 Posté(e) le 3 octobre 2006 j'ai un bout de code qui me sert à gérer mes formats et la taille des caractaires si tu veux! Chucky Chucky
moucr Posté(e) le 3 octobre 2006 Auteur Posté(e) le 3 octobre 2006 ah oui chucky je veux bien ! merci d'avance !
chucky Posté(e) le 19 octobre 2006 Posté(e) le 19 octobre 2006 Dsl pour le retard! Comme promis 'Gestion du format de la feuille 'format du calque courant (B2, B3, B4, B5 et A0 à A4) SheetFormat = DrwSheet.PaperSize If SheetFormat < 2 Then MsgBox "Format de papier inconnue" & Chr(10) & "Vous devez entrer les valeurs des paramètres manuellement!", 48, "Attention" End If If SheetFormat > 1 And SheetFormat < 7 Then Format = "A" & CStr(SheetFormat - 2) End If If SheetFormat = 13 Then 'User defined format If Height = 841 And Width = 1189 * 2 Then Format = "B2" ElseIf Height = 841 And Width = 1189 * 3 Then Format = "B3" ElseIf Height = 841 And Width = 1189 * 4 Then Format = "B4" ElseIf Height = 841 And Width = 1189 * 5 Then Format = "B5" Else MsgBox "Taille de papier sélectionnée inconnue" & Chr(10) & "Vous devez entrer la valeur du paramètre manuellement.", 48, "Attention!" End If End If If Format = "A0" Or Format = "B2" Or Format = "B3" Or Format = "B4" Or Format = "B5" Then Format_coeff = 1.54 Else Format_coeff = 1 End If [Edité le 19/10/2006 par chucky] Chucky
groli Posté(e) le 10 novembre 2006 Posté(e) le 10 novembre 2006 Bonjour à tous, je vois que la génération de nomenclature automatique n'occuppe pas que moi ça me rassure; voila un petit bout de code qui pourra peut être aider certains; il permet de configurer les champs de la nomenclature Catia car un des défauts de Catia est qu'on ne peut pas sauvegarder une configuration de nomenclature. Il faut re configurer à chaque fois qu'on lance Catia don cette macro ca se fait facilement... Language="VBSCRIPT" Sub CATMain() Set productDocument1 = CATIA.ActiveDocument Set product1 = productDocument1.Product Set assemblyConvertor1 = product1.GetItem("BillOfMaterial") Dim arrayOfVariantOfBSTR1(5)arrayOfVariantOfBSTR1(0) = "Codification"arrayOfVariantOfBSTR1(1) = "Référence"arrayOfVariantOfBSTR1(2) = "Numéro"arrayOfVariantOfBSTR1(3) = "Quantité"arrayOfVariantOfBSTR1(4) = "Référence produit"arrayOfVariantOfBSTR1(5) = "Fournisseur/Fabricant"assemblyConvertor1.SetCurrentFormat arrayOfVariantOfBSTR1 msgbox ("Le paramétrage est terminé vous pouvez désormais générer des nomenclatures")End Sub Il faut exécuter cette macro quand un fichier CatProduct est actif pour que le paramétrage ait lieu.Les colonnes des nomenclatures générées seront Codification, Référence ...Certianes de ces colonnes correspondent à des champs de base des proriétés Catia et d'autres sont des champs que je rajoute dans mes pièces et assemblages. Espérant avoir été clair et utile... Olivier
poulcyber Posté(e) le 15 novembre 2006 Posté(e) le 15 novembre 2006 je suis trés interrésser par votre développement de nomenclature automatiqueJe cherche justement un développement qui me permettrais de sortir une nomenclature automatiquement.Si vous voulez partager votre source, je vous laisse mon adresse poulcyber@hotmail.com vous pouvez voir mon site : http://poulain3.perso.cegetel.net/
groli Posté(e) le 16 novembre 2006 Posté(e) le 16 novembre 2006 Salut moucr (et les autres) je suis également intéressé par ton code si tu es prêt à le partager merci de me l'envoyer : olivierblanc_09@voila.fr par avance merci Olivier
xav18000 Posté(e) le 29 octobre 2009 Posté(e) le 29 octobre 2009 Bonjour à tous, Ce sujet est arrété depuis un petit moment mais on ne sait jms... Où en est le problème de moucr afin de copier une selection excel vers Catia ?? Je rencontre exactement le meme problème, est-ce qu'une solution a été trouvée depuis 3 ans ??! Ma question est comment faire le lien entre la selection effectuée dans la macro Excel lancée à partir de la macro Catia et cette dernière ? Si qq'un connait la réponse, j'en serais très heureux !! A+ Xav
xav18000 Posté(e) le 4 décembre 2009 Posté(e) le 4 décembre 2009 Bonjour, nouvelle question : comment demander dans mon code l'ouverture du fichier Excel créé lors de la nomenclature Catia ?à la manière de ce qu'on fait pour un fichier Excel : Excel.Visible = True que faut-il écrire suite à cette ligne ? assemblyConvertor1.[Print] "XLS", "C:\Documents and Settings\...\NOMENCLATURE.xls", product1
Hotsauce914 Posté(e) le 7 décembre 2009 Posté(e) le 7 décembre 2009 bonjour, j'ai le meme probleme que xav18000, comment copier une sélection Excel vers CATIA ... ?? A+ Pierrick
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