Aller au contenu

groli

Membres
  • Compteur de contenus

    18
  • Inscription

  • Dernière visite

Tout ce qui a été posté par groli

  1. groli

    positionnement d\'image sur condition

    bien sûr pas de soucis : Attention ce code fonctionne pour des calques en paysage; si tes calques sont en portrait il faut adapter les valeurs dans la ligne au début de chaque boucle de signature. IL faut aussi adapter un certains nombre d'info selon ton cas (chemin d'accès à l'image, positionnement de l'image...). D'autres part il s'agit de Vbscript et non pas de vba donc il faut coller ce code dans une macro vbscript... Pour faire fonctionner cette macro il faut avoir le chemin d'un répertoire qui ne contient que des catdrawing. Seuls les pdf sont signés car je ne fais psa de save avant la fermeture du doc. Si tu as un soucis demande moi Olivier Language="VBSCRIPT" Sub CATMain() msgbox("Vous allez générer des pdf SIGNES") folderinput = InputBox ("Indiquer le dossier contenant les plans CatDrawing Attention le chemin d'accès doit se terminer par \ Les PDF seront crées dans le répertoire source","Source","Collez l'adresse source",2000,4000) Dim fs, f, f1, fc, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(folderinput) Set fc = f.Files For Each f1 in fc Dim PartDocument1 'As Document Set documents1 = CATIA.Documents Dim document1 'As Document INTRARE = folderinput & f1.name Set PartDocument1 = CATIA.Documents.Open(INTRARE) ' déf des variables Set oDrw_Doc = CATIA.ActiveDocument Set cDrw_Sheets = oDrw_Doc.Sheets Set oDrw_Sheet = cDrw_Sheets.ActiveSheet ' Lecture du format et des dimensions du calque oFormat = oDrw_Sheet.PaperSize dSh_Width = oDrw_Sheet.GetPaperWidth 'Boucle de signature pour un A4 If ( dSh_Width=297 ) Then Set MySheet = CATIA.ActiveDocument.Sheets.ActiveSheet Set MyView = MySheet.Views.ActiveView Set SignatureSignature1 = MyView.Pictures.Add("C:\signature\signature 1.jpg", 260., 30.) Set SignatureSignature2 = MyView.Pictures.Add("C:\signature\signature 2.jpg", 263., 42.) End If 'Boucle de signature pour un A3 If ( dSh_Width=420 ) Then Set MySheet = CATIA.ActiveDocument.Sheets.ActiveSheet Set MyView = MySheet.Views.ActiveView Set SignatureSIGNATURE1 = MyView.Pictures.Add("C:\signature\signature 1.jpg", 383., 30.) Set SignatureSIGNATURE2 = MyView.Pictures.Add("C:\signature\signature 2.jpg", 386., 42.) End If 'Boucle de signature pour un A2 If ( dSh_Width=594 ) Then Set MySheet = CATIA.ActiveDocument.Sheets.ActiveSheet Set MyView = MySheet.Views.ActiveView Set SignatureSIGNATURE1 = MyView.Pictures.Add("C:\signature\signature 1.jpg", 552., 40.) Set SignatureSIGNATURE2 = MyView.Pictures.Add("C:\signature\signature 2.jpg", 550., 52.) End If 'Boucle de signature pour un A1 If ( dSh_Width=841 ) Then Set MySheet = CATIA.ActiveDocument.Sheets.ActiveSheet Set MyView = MySheet.Views.ActiveView Set SignatureSIGNATURE1 = MyView.Pictures.Add("C:\signature\signature 1.jpg", 799., 40.) Set SignatureSIGNATURE2 = MyView.Pictures.Add("C:\signature\signature 2.jpg", 799., 52.) End If 'Boucle de signature pour un A0 If ( dSh_Width=1189 ) Then Set MySheet = CATIA.ActiveDocument.Sheets.ActiveSheet Set MyView = MySheet.Views.ActiveView Set SignatureSIGNATURE1 = MyView.Pictures.Add("C:\signature\signature 1.jpg", 1147., 40.) Set SignatureSIGNATURE2 = MyView.Pictures.Add("C:\signature\signature 2.jpg", 1147., 52.) End If IESIRE = folderinput & f1.name & ".pdf" PartDocument1.ExportData IESIRE, "pdf" s = s & f1.name s = s & vbCrLf CATIA.ActiveDocument.Close Next End Sub
  2. groli

    positionnement d\'image sur condition

    merci beaucoup 8_pool, j'ai réussi à faire ce que je voulais en utiliisant une partie de ton code
  3. Boujour tout le monde, me revoici avec un nouveau problème : Je vais essayer d'être clair. Le but du jeu est de générer automatiquement des plans au format PDF en insérant un signature à un endroit précis; à ce jour je sais générer des pdf automatiquement, je sais insérer une image de la signature mais la problématique viens du fait que l'origine d'un CatDrawing est en bas à gauche alors que mon image est fixe par rapport au coté droit du coup si je positionne bien ma signature pour un A4, elle n'est plus au bon endroit lorsque je traite un A3 ou autre... Je vois deux solutions : soit je peux modifier mon origine et la placer à droite soit il me faut quelques lignes de programmes du genre : if Active.Document = A4 then 'insérer l'image à tel endroit' if Active.Document = A3 then 'insérer l'image à tel endroit' etc (sauf que je n'ai pas les commandes exactes...) Quelqu'un aurait une idée? je suis bien sûr prêt à partager ma macro lorsqu'elle sera finie. Olivier
  4. groli

    insertion d\'image automatique

    merci ca fonctionne. Mais de quelle doc parles-tu? S'agit il de la doc d'aide de Catia ou autre?
  5. Bonjour, oui moi ca m'intéresse si tu veux bien me l'envoyer voici mon adresse : olivierblanc_09@voila.fr Merci pour toutes tes interventions marc olivier
  6. Bonjour, je souhaite insérer une image (toujours la même) automatiquement dans un catdrawing; J'ai pensé à deux solutions : Utiliser la fonction insertion--> image mais je ne connais pas le code en VBScript... ou Avoir mon image présente dans tous mes plans mais cachée et utiliser le code pour la rendre visible. J'arrive à passer dans le calque des vues cachées mais je n'ai pas la commande pour identifier un objet inséré... esc ce que quelqu'un aurait une solution? merci Olivier
  7. groli

    gestion des vues éclatées

    Génial !! merci Mooneck tu m'a bien aidé Bon week end Olivier
  8. Bonjour, me revoila avec un petit problème; Je cherche à insérer dans mes plans d'assemblage (projection d'un catproduct) des bulles qui correspondent aux numérox dans ma nomenclature. J'utilise donc la numérotation de Catia dans le 3D et le champ numéro dans mes nomenclature ensuite en 2D je génère mes numéros avec l'option prévue "Génération de numéros". Mon problème survient lorsque je dois projeter mon 3D éclaté; Je fais mon éclaté en 3D et donc le maelstrom de mise à jour se met actif. en suite je projète en 2D et je génère ma numérotation. Enfin je verrouille ma vue en 2D pour ne pas avoir le maelstrom actif dès que je touche mon 3D. Je sauvegarde le tout et je suis content. Maintenenant quand je modifie mon 3D (ne serait-ce qu'une mise à jour pour reassemblé les pièce après l'éclaté) je perd toute possibilité de modification sur mon 2D car dès que je déverrouille ma vue le maelstrom devient actif et donc je ne peux plus ajouter de numéros et une mise à jour me ferait perdre mon éclaté... Bref je cherche à garder en permanence une config éclatée pour pouvoir garder un lien direct avec le 2D; J'ai essayé deux choses mais qui solutionnent à moitié le problème : Créer un scène avec mon éclaté et utiliser les boutons appliquer la scène au 3D appliquer le 3D à la scène maisdès que je fais une mise à jour ma scène de vient assemblée (donc je perd mon éclaté) Créer une copie de mon cat product, enlever toutes les contraintes et faire mon éclaté puis se servir de ce cat product dans le plan; ceoendant cela implique en cas de modif (ajout/suppression de pièce) de penser à la faire dans les deux catproducts... voila j'aimerais simplement vos avis et expériences sur ce sujet pour voir comment vous gérez vos projections d'éclatés sans être géné par les mise à jour. J'espère ne pas avoir été trop confu dans ma longue explication. merci par avance Olivier
  9. groli

    Macro Catia/Excel

    Bonjour, je cherche à réaliser une macro qui ouvrirait un browser de manière à ouvrir un fichier excel. L'idée est de lancer une macro se trouvant dans un fichier excel qui change d'endroit (d'où l'intérêt du browser) à partir de catia. J'ai essayé la commande catia.FileSelectionBox("titre", "*.extension", CatFileSelectionModeopen) mais ca ne marche pas avec les fichiers qui en sont pas natifs de catia (.catdrawing, .catpart ...). Si quelqu'un a la solution merci de bien vouloir me la donner. Pour info si ca intéresse quelqu'un voila comment ouvrir un fichie excel fixe puis d'éxécuter une macro se trouvant dans le classeur excel ouvert : 'Ouverture du fichier excel Set objExcel = CreateObject("Excel.Application" ) Set objWorkbook = objExcel.Workbooks.Open("chemin d'accès\nom de fichier.xls") objExcel.Visible = True ' Exécuter une macro du classeur ouvert objExcel.run "nom de la macro" Olivier
  10. 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
  11. groli

    macro CATIA ouverture fichier

    J'ai essayé ceci mais j'ai le meme problème (seuls les exécutables "de base" s'ouvrent); cela ne fonctionne pas avec un .exe quelconque... Sub CATMain() set WshShell = createObject("WScript.shell") Wshshell.run "iexplore.exe" End Sub Merci Marc pour toutes tes réponses sur ce forum (et sur d'autres ;-) )
  12. groli

    macro CATIA ouverture fichier

    cela marche effectivement avec les applications windows (bloc note, paint, internet explorer...) mais pas avec un exe quelconque se trouvant sur le bureau (ou ailleurs)... Merci Marc pour tes réponses. Olivier
  13. Bonjour, une petite question de prog : savez quelle commande je dois utiliser en vbscript pour : passer dans le calque du fond passer dans le calque des vues l'objectif étant comme vous l'avez compris de créer des raccourcis claviers pour passer d'un calque à un autre. Merci Olivier
  14. 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
  15. groli

    macro CATIA ouverture fichier

    Merci pour ta réponse marc, malheureusement cela ne fonctionne pas. J'ai essayé les deux codes avec à chaque fois le nom du fichier seul ou le chemin d'accès\nomdefichier... Et j'ai essayé également tout cela en CatScript et en VbScript ... j(obtiens un message d'erreur type : La méthode "executeProcessus a échoué... Voyez le guide de référence du langage ou la documentation API...
  16. bonjour, comme heero je te conseille une répétition personnalisée par type de trou. Cela aurait en plus comme avantage de permettre d'utiliser la fonction Insertion -- > Réutilise un motif (pour le cas où tu places un même composant dans tes trous lors de l'assemblage). Si tu connais pas la répétition personnalisée demande je t'expliquerai. Cordialement Olivier
  17. Bonjour, je cherche à créer une macro qui permettrait d'exécuter un fichier .exe se trouvant sur mon bureau mais je ne suis pas très fort en prog est ce que quelqu'un pourrait m'aider SVP. Merci par avance du temps que vous voudrez bien me consacrer. Olivier
  18. groli

    Ouverture de fichier wrl

    je ne connais cette fonction non plus mais pour ouvrir un fichier wrl il suffit en effet de créer un catproduct et d'y insérer ton fichier .wrl. Pour le faire tu cliques sur Insertion -- > Composant existant puis tu cliques sur le nom de ton assemblage dans l'arbre du catproduct; une boite de dialogue apparait et donc tu vas chercher ton fichier wrl et tu valide. Voila bon courage Olivier
×
×
  • 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é