Macro pour transformer en masse .SLDPRT de tolerie en déplié au format .DWG ou .DXF

Bonjour à toutes et tous,

Après de longue recherche sur le net, je n'arrive pas a trouver la macro qu'il me faut. si vous pouviez me fait ca, ce serait super.

je cherche une macro pour transformer tous les fichiers .SLDPRT de tôlerie ainsi que toutes les configuration qu'il pourrait y avoir dans chaque fichier, situer dans un dossier, en mise a plat (état déplié) dans des fichier .DWG ou et .DXF.

J'ai trouvé une macro qui me fait la mise a plat, mais seulement du fichier ouvert dans SW.

Je voudrais qu'au lancement de la macro, il m'ouvre une fenêtre ou je pourrai choisir le dossier source et le dossier d'enregistrement.

J'ai trouver une macro pour enregistrer mes plans SW en .PDF (qui me sert beaucoup et fonctionne très bien et ou j'ai c'est options pour l'enregistrement.

Je vous joint c'est 2 macro, s'ils peuvent vous aider a mieux comprendre ce que je désire.

Je suis sous SW2018 R0.3

Je ne connait rien au codage :(

Merci

Michel.

 

 


macro.rar
1 « J'aime »

Bonjour,

C'est du spécifique sur commande maintenant ?

"Je ne sais pas si ça vient de moi mais je n'arrive pas à extraire les fichiers de ton fichier archive." : Remarque qui n'est plus valide, cela vient du PC sur lequel j'étais, ça marche mieux sur un autre PC...

Cordialement,

Bonjour,

De ce que j'ai compris tu veux :

- sélectionner le dossier source des fichiers pièces au lancement de la macro.

- sélectionner le dossier de destination des dwg et dxf  au lancement de la macro.

- analyser le dossier source pour relever tous les fichiers pièces 3D.

- ouvrir en automatique chaque pièce du dossier source dans solidworks.

- créer en automatique le déplié de chaque pièce et ça pour chaque configuration de la pièce.

- créer un dwg et un dxf de ces dépliés.

- stocker ces dwg et dxf dans le dossier de destination.

- fermer la pièce 3D.

donc, dans l'ordre, tu peux utiliser les fonctions FolderBrowserDialog, GetFile, OpenDoc, GetConfigurationNames, ExportFlatPatternView, SaveAs3 et CloseDoc.

Cela donne un fonctionnement qui peut ressembler au programme joint, celui-ci est fait en C# à l'arrache sans aucune vérification de sécurité. J'ai volontairement limité son fonctionnement dans le temps car non sécurisé et très peu testé (sur SW2017 sur 3 fichiers), la date limite est le 31/08/2018, ce qui devrait te laisser le temps de faire quelques tests, sur des copies de fichiers bien entendu même si je ne modifie pas les fichiers d'origine et que je ne les sauvegarde pas.

A dézipper dans un dossier sur le bureau puis lancer l'éxecutable, Solidworks doit être démarré avant.

Si le fonctionnement te convient je pourrais ultérieurement te guider dans l'écriture complète de ta macro mais cela ne pourra se faire qu'à partir de fin septembre, et oui, ça va être à mon tour de partir en congés :)

Cordialement,


export_dwg-dxf.zip
3 « J'aime »

Bonjour d.roger,

1- Merci pour ton retour.

2- Oui, c'est bien ce que je désirerait avoir:

     - sélectionner le dossier source des fichiers pièces au lancement de la macro.

    - sélectionner le dossier de destination des dwg et dxf  au lancement de la macro.

    - analyser le dossier source pour relever tous les fichiers pièces 3D.

   - ouvrir en automatique chaque pièce du dossier source dans solidworks.

   - créer en automatique le déplié de chaque pièce et ça pour chaque configuration de la pièce.

   - créer un dwg et un dxf de ces dépliés.

   - stocker ces dwg et dxf dans le dossier de destination.

   - fermer la pièce 3D.

 

J'ai DL le fichier Zip enrégistré sur le bureau et déziper.

Je démare mon SW et la quand je le lance le fichier .exe je reçois le message d'erreur suivant: Voir .Jpg Joint.

As tu une solution ?

Michel

 

 

 

 


error_v.jpg

Bonjour,

Sur le fichier exe, tu fais clic droit / propriétés puis en bas de la fenêtre, tu cliques sur "Débloquer".

Si ton anti-virus te bloques le lancement du programme, il faut l'autoriser dans ton anti-virus (bien sûr que si tu fais confiance sinon, ben c'est tant pis).

Cordialement,

1 « J'aime »

bonjour,

J'ai coupé l'anti virus

Je n'ai pas débloquer dans les propriétés, je suis aller dans Propriétés/ Compatibilité, et j'ai cliquer: Lancer la résolution des problème de compatibilité. La il m'a demandé de passé en Admin, j'ai rentré les codes pour passé sous Admin et il a démaré, j'ai choisi la source et la destination, mais en admin je n'ai pas acces a tous les serveur ni dossier, donc ai refait une copie de mes fichier dans un dossier pour mettre sur le bureau Admin. et lancé le traitement il transforme un fichier en DXF mais ne met pas le nom exacte, puis nouvelle fenêtre d'erreur, voir fichier joint du message ci dessous.

Bav.

Michel

 


erreur.txt

bonjour,

Désoler,

J'ai modifier pour ne plus demarer sous Admin et cela fonctionne bien en temps qu'utilisateur. :)

J'ai refait un essais et la plus de message d'erreur, tous ai bien passer peu etres même plus que j'en desirait ;) voir jpg joint.

Je dois encore fair un essai avec des fichier ayant plusieurs configuration.

Déja un grand MERCI.

Je revient le plus vite possible pour de nouveaux retour.

Merci Merci Merci

Bien à toi.

Michel

 

 


tranformation_part-dwg_dxf.jpg

Bonjour,

Cela fonctionne aussi pour les fichier avec plusieurs configurations :)

Par contre l'échelle n'est pas bonne il me sort les Mise à plat à 5:1 :(  Donc pour 100mm j'ai 500mm

Est il possible de remédier a ça ?

Bat.

Michel

Bonjour,

Essaye avec le bouton traitement type 2 du programme joint.

Cordialement,


export-tole-dwg-dxf.zip

Bonjour,

C'est ok avec le bouton "traitement type2" Mise à plat 1:1 :)

Pour moi c'est très bien. Même plus :)

suggestion:

Pense tu qu'il serait possible d'avoir un menu pour choisir si l'on veux .DWG et ou .DXF

Ainsi qu'une fenêtre d'adresse pour y collé le lieu du dossier source et une pour y collé le lieu du dossier d'enrégistrement, plutôt que de devoir parcourir les dossier.

Si tu pense modifier la Macro pour les 2 suggestions et ou pour supprimer le traitement type 1 (quand tu auras le temps bien sur, même après tes vacances que je te souhaite très bonne) tiens moi au courant pour voir si je met ta dernière réponse en meilleur réponse maintenant ou si j'attend que tu la modifie.

D'avance encore un grand MERCI

Bien à toi.

Michel

Bonjour,

La version finale à venir sous peu si pas plus de modif...

Cordialement,

Bonjour,

Voici la version finale du programme avec les suggestions de modifications, il est encore possible de choisir les dossiers en cliquant sur les textes "dossier source" et "dossier de destination" mais il est aussi possible de copier/coller directement les chemins des dossiers dans les zones de texte adéquates, le choix du ou des formats de sortie se fait en cochant ou décochant les cases appropriées.

A dézipper dans n'importe quel dossier mais les 2 fichiers contenus dans le zip doivent être dans le même dossier. Il est préférable de lancer Solidworks avant le lancement de ce programme.

La date limite d'utilisation du 31/08/2018 est enlevée. Attention, il est nécessaire d'avoir au minimum la version 2017 de Solidworks.

Utilisation aux risques et périls de l'utilisateur...

Pas de garantie et de service après don...

C'est écrit en C# mais possibilité d'avoir des informations sur le code utilisé sur simple demande mais seulement à partir de fin septembre...

Cordialement,


export-tole-dwg-dxf.zip
1 « J'aime »

bonjour,

Encore un grand merci pour ton aide. Tout fonctionne très bien.

Cela va me faire gagné beaucoup de temps

Bien à toi

Michel

Bonjour,

Je tiens à remercier d.roger pour ce petit programme. Celà faisait longtemps que je cherchai un petit utilitaire pour m'alléger la corvée hebdomadaire de la préparation à la découpe laser. 

Est-il possible d'exporter automatiquement le DXF avec un calque "COTATION" rouge sur lequel apparait le flanc capable de tôle ?

Pour information, mon DXF avant envoi au sous-traitant, ressemble à ceci :

 

Je vous remercie d'avance !

j’ai transformer plus de 2000 fichiers en .DXF et d’un seul coup erreur que ce passe t’il.

Bonjour;
Il eut été préférable de développer le « Detail » du rapport d’erreur mais celui-ci dit en substance qu’il n’a pas réussi à ouvrir le document à traiter:
Soit il est en erreur (Solidworks).
Soit il a été déplacé ou renommé.

Cette erreur apparait-elle toujours sur un fichier spécifique ?
Est elle permanente ?
Aléatoire?
Le fichier à traiter a t’il des particularités (plis non dépliables, chevauchements ?)
et pour finir, quelle version de Solidworks utilisez-vous?

Cordialement.

Nota, déterrer une discussion Résolue d’il y a 4 ans n’est pas forcement la bonne méthode pour obtenir des réponses.
D’un autre coté, cela permet d’avoir un aperçu sur le travail admirable « comme souvent » de @d.roger

1 « J'aime »

Bonjour je suis désolé d’avoir déterrer une vielle discutions mais c’est le seul petit programme que l’on a trouver pour transformer en masse des Fichiers SolidWorks.

la version de SolidWorks c’est 2022.

Le problème c’est que l’on ne peut pas modifier le programme puisque seul @d.roger à le code source.
Et comme @d.roger passe pas souvent par ici les derniers temps pas sûr que tu obtienne un réponse.

Par contre les logiciels Visiativ MyCadtools peuvent également répondre à la demande.
BatchConverter et Intégration peuvent répondre à cette demande.
Pour finir surêment une pièce ou plusieurs qui pose problème, essaie de l’identifier (par élimination ou autre méthode) puis d’essayer de comprendre pourquoi (pas une tôlerie…)

Bonjour.
Je viens de tester sur 22 et le programme se lance mais ne fait pas le job, changé la dll, et hop même erreur que la vôtre,
Pour résumé, ça prend pas en charge la version
Solution, recompiler avec les nouvelles dll, mais faut avoir le code source.:grin:

1 « J'aime »

Bonjour,
Je suis maintenant sur SW22 et j’arrive à utiliser ce programme sans lui avoir apporté la moindre modification. J’arrive cependant à reproduire l’erreur si je ne lance pas SW avant d’utiliser ce programme donc j’aurais tendance à dire qu’il faut remplacer la phrase « Il est préférable de lancer Solidworks avant le lancement de ce programme. » par « Il est impératif de lancer Solidworks avant le lancement de ce programme. »
Cordialement,

3 « J'aime »