#1 Wed 07 December 2011 12:00
- MiFe
- Participant occasionnel
- Lieu: MULHOUSE
- Date d'inscription: 21 Nov 2006
- Messages: 32
Transformation dwg2wmf
Bonjour
Utilisateur d'une version 12 d'autocad Map + Covadis, je cherche à transformer une centaine de fichiers dwg en autant de fichiers wmf.
En fait il faudrait que je puisse enchainer une suite de commande dans un fichier (lisp? ou scr) pour l'executer ensuite en batch:
ouvrir fichier[1] dwg
lancer une commande de transfo en wmf (sauvewmf ou autre?)
enregistre au format wmf
ouvrir fichier[2] dwg
lancer une commande de transfo en wmf (sauvewmf ou autre?)
enregistre au format wmf
et ainsi de suite...
Merci pour votre aide!
Cordialement
Michel F.
M2A (Mulhouse)
En pleine migration de GeoCity vers Apic
et en galère avec autocad
Michel F.
SIG- MULHOUSE (M2A)
Hors ligne
#2 Wed 07 December 2011 12:29
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: Transformation dwg2wmf
Hello
Humour : es tu bien sur qu'il s'agisse d'une version 12 qui etait la version courante en 1993-1994 sous MS-DOS ?
Connais tu les Scripts (Fichiers: *.SCR) ?
http://georezo.net/forum/viewtopic.php?id=51628
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#3 Wed 07 December 2011 14:12
- MiFe
- Participant occasionnel
- Lieu: MULHOUSE
- Date d'inscription: 21 Nov 2006
- Messages: 32
Re: Transformation dwg2wmf
Pardon il fallait évidemment lire AutoCad Map 3D 2012!!!
Quant aux scripts je n'y connais pas grand chose...
Pouvez vous m'expliquer comment mettre les noms de fichiers à ouvrir en parametre
est ce que ceci est autorisé dans le :
ouvrir "chemin\fichier_entree_dwg"
sauvewmf "chemin\fichier_sortie_wmf"
MichelF
A+
Michel F.
SIG- MULHOUSE (M2A)
Hors ligne
#4 Wed 07 December 2011 15:04
- bruno v.
- Participant actif
- Date d'inscription: 22 Mar 2010
- Messages: 89
Re: Transformation dwg2wmf
Bonjour,
Pour générer ton script, je te propose de coller ce qui suit directement en ligne de commande dans un NOUVEAU dessin vierge.
Ceci, si ta centaine de dessins est dans le même dossier...
Code:
((lambda ( / prefix file_scr) (setq prefix (strcat (vl-filename-directory (getfiled "Sélectionner un fichier dessin TEMOIN" "" "dwg" 16)) "\\") file_scr (open (strcat prefix "dwg2wmf.scr") "w") ) (foreach dwg (vl-directory-files prefix "*.dwg" 1) (write-line "_.open" file_scr) (write-line (strcat "\"" prefix dwg "\"") file_scr) (write-line "_.wmfout" file_scr) (write-line "" file_scr) (write-line "_all" file_scr) (write-line "" file_scr) (write-line "_.close" file_scr) (write-line "_yes" file_scr) ) (close file_scr) (princ (strcat "\Vous pouvez lancer le SCRIPT :" prefix "dwg2wmf.scr")) (prin1) ))
Tu vas pointer un dessin témoin dans le dossier et le script va se monter tout seul.
Tu n'as plus qu'a lancer la commande SCRIPT et donner le fichier généré et aller boire un café, ou discuter avec les collègues.
Hors ligne
#5 Wed 07 December 2011 16:38
- MiFe
- Participant occasionnel
- Lieu: MULHOUSE
- Date d'inscription: 21 Nov 2006
- Messages: 32
Re: Transformation dwg2wmf
Merci pour votre script, mais il me semble que dans la version 2012la commande WMFOUT ne fonctionne pas. Ce serait plutot SAUVEWMF.
Mais quand je remplace WMFOUT par SAUVEWMF j'ai ceci comme réponse dans ma console de commande:
Commande:
Commande: _.SAUVEWMF
Commande inconnue "SAUVEWMF". Appuyez sur F1 pour obtenir de l'aide.
Avez vous une piste?
Merci
Miche F.
Michel F.
SIG- MULHOUSE (M2A)
Hors ligne
#6 Wed 07 December 2011 17:22
- bruno v.
- Participant actif
- Date d'inscription: 22 Mar 2010
- Messages: 89
Re: Transformation dwg2wmf
Je l'ai testé rapidement sur une 2011 sans soucis.
_WMFOUT n'est que la retranscription en international de la commande SAUVEWMF, ceci assure que les commandes fonctionneront quelque que soit la version linguistique d'Autocad utilisé.
Donc si autocad ne reconnait pas _WMFOUT, il ne reconnaitra pas non plus SAUVEWMF.
La commande SAUVEWMF n'est peut être plus disponible sur une 2012 ?
Donc en résumé le souligné (_) ne doit pas être mis devant une commande en FRANCAIS, seulement devant la commande ANGLAISE correspondante pour quelle soit comprise.
NB: Le point devant la commande, permet d'être sur d'utiliser la commande originale (au cas ou cette commande aurait été redéfinie avec REDEF), une sécurité peu utile, mais... sait on jamais!
Dernière modification par bruno v. (Wed 07 December 2011 17:33)
Hors ligne
#7 Wed 07 December 2011 19:24
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: Transformation dwg2wmf
Hello
SAUVEWMF et _WMFOUT fonctionnent parfaitement sur AutoCAD 2012 et MAP 2012 !
Par contre je pense que mettre un FILEDIA=0 devrait aider a faire marcher le Script !
ou plutot faire un FILEDIA = 0 avant de lancer le Script
et ne pas oublier de faire un FILEDIA =1 apres le traitement ...
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#8 Thu 08 December 2011 12:44
- MiFe
- Participant occasionnel
- Lieu: MULHOUSE
- Date d'inscription: 21 Nov 2006
- Messages: 32
Re: Transformation dwg2wmf
Merci pour vos coup de mains.
Ca marche même en laissant la Variable FILEDIA positionnée à 1.
Par contre quand j'inclu la commande _close suivi de _yes le script execute juste la première transformation.
J'ai remarqué que le nombre de saut de ligne est très important donc très contraignant???
Voici un extrait de mon script:
_open
"C:\Temp\DWG2WMF\APPLIQUE.dwg"
_wmfout
_all
_close
_yes
_open
"C:\Temp\DWG2WMF\APPLIQUE2000.dwg"
_wmfout
_all
_close
_yes
_open
"C:\Temp\DWG2WMF\ARMOIREEDF.dwg"
_wmfout
_all
_close
_yes
Y a t'il une erreur quelque part qui empêche la fermeture du fichier traité et l'ouverture du suivant?
Si j'élimine les lignes close et yes ça fonctionne, mais il y a un paquet de fichiers ouverts à la fin de l'execution du script.
A+
Michel F
Michel F.
SIG- MULHOUSE (M2A)
Hors ligne
#9 Thu 08 December 2011 14:43
- bruno v.
- Participant actif
- Date d'inscription: 22 Mar 2010
- Messages: 89
Re: Transformation dwg2wmf
Bonjour Michel
Si il y a un problème cela peu provenir de la variable EXPERT, si elle est différente de zéro.
En effet elle supprime certains messages de confirmation ce qui à une répercussion sur les scripts.
Autrement je ne vois pas, l'extrait du script m'a semblé correct
Hors ligne
#10 Thu 08 December 2011 20:09
- olivier.eckmann
- Participant assidu
- Date d'inscription: 14 Dec 2007
- Messages: 353
Re: Transformation dwg2wmf
Bonsoir,
à la commande CLOSE, 2 possibilités, si le dessin a été modifé depuis son ouverture, alors il y a demande de confirmation pour ignorer les modifications. Par contre si le dessin n'a subi aucune modification, alors la commande close s'exéctue sans demande de confirmation.
C'est peut-être ce qui se passe car la commande wmfout ne doit certainement pas modifier le dessin => pas de confirmation.
C'est pourquoi à la fin d'un script j'ajoute toujours une commande -pan 0,0 1,1 pour forcer une modification pour qu'AutoCAD demande une confirmation à la fermeture.
Olivier
Hors ligne
#11 Thu 08 December 2011 21:10
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: Transformation dwg2wmf
Hello Olivier
EXCELLENT, j'adore ton PAN qui force la question : Voulez vous enregistrer ...
Je vais immediatement demander a Christian de te voter une grosse augmentation en fin d'annee !
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#12 Fri 09 December 2011 09:13
- MiFe
- Participant occasionnel
- Lieu: MULHOUSE
- Date d'inscription: 21 Nov 2006
- Messages: 32
Re: Transformation dwg2wmf
Bonjour
Aprés une bonne nuit de sommeil je découvre le post d'Olivier et je confirme. Les fichiers ouverts et transformés avec la commande "wmfout" ne sont pas modifiés et après la commande "_close" il n'est donc pas nécessaire de rajouter "_yes". C'est ce "yes" qui mettait le bazar!
Dans le code de Bruno il faut donc éliminer la ligne "yes"
Merci à tous pour votre contribution
A+
PS: juste pour info pour ceux qui voudraient faire la même chose: après chaque ouverture de fichier il faut inclure la commande zoom etendu dans le script, sinon les objets exportés au format wmf sont tronqués. Dans ce cas il faut évidemment aussi inclure la confirmation de fermeture ("_yes"
Dernière modification par MiFe (Fri 09 December 2011 10:02)
Michel F.
SIG- MULHOUSE (M2A)
Hors ligne