Accueil > > > EXPORT DE FICHIER AUTOCAD VERS WMF ET DXF (EN LOT)
EXPORT DE FICHIER AUTOCAD VERS WMF ET DXF (EN LOT)
Information sur la source
Description
Ayant besoin d'exporter une bonne quantité de dessins dans différents formats, j'ai fait ce petit bout de code qui satisfait à mon besoin... requis: Autocad 2006 fonctionnement: - charger les fichiers(2D) dans Autocad - lancer la macro - les fichiers wmf & dxf sont automatiquement créer au même niveau dans l'arborescence du fichier d'origine - fermeture du fichier - rebouclage ou arret si plus fichier n'est charger Note aux administrateurs CS: Je n'ai pas vu de categorie 2D mais ce bout de code marche avec des fichiers 2D ^^
Source
- Public Sub ExportWmfDxf()
- '---------------------------------------------------------------------------------------
- '------------ Macro crée le 16/01/08 ------
- '---------------------------------------------------------------------------------------
- '---------------------------------------------------------------------------------------
- '----- faire un bouton avec la commande suivante dans autocad -
- '----- $path of DVB module$ fait référence à l'emplacement du fichier "dvb" -
- '----- à remplacer par le bon chemin ! -
- '---------------------------------------------------------------------------------------
- '---- ^C^C-vbarun "C:/ $path of DVB module$ /export_WmfDxf.dvb!Module1.ExportWmfDxf" -
- '---------------------------------------------------------------------------------------
-
- Dim DOC As AcadDocument
- Dim msg As String
-
- msg = vbCrLf & " - Dessin concerné :" & vbCrLf
- For Each DOC In Documents
- msg = msg & DOC.Name & vbCrLf
- Next
- msg = msg & vbCrLf & "Note : les fichiers seront exportés au même endroit que le fichier source." & vbCrLf
-
- If Documents.Count > 0 Then
- myans = MsgBox("ATTENTION le dessin sera fermé à la fin de la manipulation, le contenu ne sera PAS SAUVEGARDER, Doit-je donc Continuer ?: " & msg, vbOKCancel, "ATTENTION")
- Else
- Exit Sub
- End If
-
- If myans <> vbOK Then Exit Sub
-
- For Each DOC In Documents
- DOC.Activate
- Call ExportBoucle
- Next
- End Sub
-
- Public Sub ExportBoucle()
-
- ' init
-
- Dim sset As AcadSelectionSet
- Dim newPViewport As AcadPViewport
- Dim centerPoint(0 To 2) As Double
- Dim height As Double
- Dim width As Double
- Dim exportFile As String
-
- height = 300#
- width = 400#
-
- ' sauvegarde au format DXF (version compatible Autocad 2000)
-
- ThisDrawing.Activate
- ThisDrawing.ActiveSpace = acModelSpace
- ZoomExtents
- exportFile = ThisDrawing.Path & "\" & Left(ThisDrawing.Name, Len(ThisDrawing.Name) - 4)
- ThisDrawing.SaveAs exportFile & ".dxf", ac2000_dxf
-
- ' sauvegarde au format wmf en N&B
-
- 'création de la fenetre
- centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
- ThisDrawing.ActiveSpace = acPaperSpace
- Set newPViewport = ThisDrawing.PaperSpace.AddPViewport(centerPoint, width, height)
- ZoomExtents
- ' activation de la nouvelle fenetre
- newPViewport.Display True
- ThisDrawing.MSpace = True
- ThisDrawing.ActivePViewport = newPViewport
- ZoomExtents
- ' tout les calques en N&B
- t = ThisDrawing.Layers.Count
- For n = 1 To t - 1
- ThisDrawing.Layers.Item(n).color = acWhite
- Next n
- ' regeneration de la fenetre pour le N&B
- ThisDrawing.Regen acActiveViewport
- ' selection du contenu de la fenetre
- Set sset = ThisDrawing.SelectionSets.Add(ThisDrawing.Name)
- sset.Select acSelectionSetAll
- ' sauvegarde wmf du contenu de la selection
- ThisDrawing.Export exportFile, "wmf", sset
- ' libération de la selection
- Set sset = Nothing
- ' fermeture du dessin (sans sauvegarde)
- ThisDrawing.Close False
-
- End Sub
-
Public Sub ExportWmfDxf()
'---------------------------------------------------------------------------------------
'------------ Macro crée le 16/01/08 ------
'---------------------------------------------------------------------------------------
'---------------------------------------------------------------------------------------
'----- faire un bouton avec la commande suivante dans autocad -
'----- $path of DVB module$ fait référence à l'emplacement du fichier "dvb" -
'----- à remplacer par le bon chemin ! -
'---------------------------------------------------------------------------------------
'---- ^C^C-vbarun "C:/ $path of DVB module$ /export_WmfDxf.dvb!Module1.ExportWmfDxf" -
'---------------------------------------------------------------------------------------
Dim DOC As AcadDocument
Dim msg As String
msg = vbCrLf & " - Dessin concerné :" & vbCrLf
For Each DOC In Documents
msg = msg & DOC.Name & vbCrLf
Next
msg = msg & vbCrLf & "Note : les fichiers seront exportés au même endroit que le fichier source." & vbCrLf
If Documents.Count > 0 Then
myans = MsgBox("ATTENTION le dessin sera fermé à la fin de la manipulation, le contenu ne sera PAS SAUVEGARDER, Doit-je donc Continuer ?: " & msg, vbOKCancel, "ATTENTION")
Else
Exit Sub
End If
If myans <> vbOK Then Exit Sub
For Each DOC In Documents
DOC.Activate
Call ExportBoucle
Next
End Sub
Public Sub ExportBoucle()
' init
Dim sset As AcadSelectionSet
Dim newPViewport As AcadPViewport
Dim centerPoint(0 To 2) As Double
Dim height As Double
Dim width As Double
Dim exportFile As String
height = 300#
width = 400#
' sauvegarde au format DXF (version compatible Autocad 2000)
ThisDrawing.Activate
ThisDrawing.ActiveSpace = acModelSpace
ZoomExtents
exportFile = ThisDrawing.Path & "\" & Left(ThisDrawing.Name, Len(ThisDrawing.Name) - 4)
ThisDrawing.SaveAs exportFile & ".dxf", ac2000_dxf
' sauvegarde au format wmf en N&B
'création de la fenetre
centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
ThisDrawing.ActiveSpace = acPaperSpace
Set newPViewport = ThisDrawing.PaperSpace.AddPViewport(centerPoint, width, height)
ZoomExtents
' activation de la nouvelle fenetre
newPViewport.Display True
ThisDrawing.MSpace = True
ThisDrawing.ActivePViewport = newPViewport
ZoomExtents
' tout les calques en N&B
t = ThisDrawing.Layers.Count
For n = 1 To t - 1
ThisDrawing.Layers.Item(n).color = acWhite
Next n
' regeneration de la fenetre pour le N&B
ThisDrawing.Regen acActiveViewport
' selection du contenu de la fenetre
Set sset = ThisDrawing.SelectionSets.Add(ThisDrawing.Name)
sset.Select acSelectionSetAll
' sauvegarde wmf du contenu de la selection
ThisDrawing.Export exportFile, "wmf", sset
' libération de la selection
Set sset = Nothing
' fermeture du dessin (sans sauvegarde)
ThisDrawing.Close False
End Sub
Conclusion
mon code est loin d'etre optimal mais il marche sur Autocad 2006 je l'ai tester sur 50 fichiers charger avec un poids variable de 500ko à 8Mo avec succes...
Historique
- 18 janvier 2008 16:28:45 :
- vide
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
SCRIPT ET EXPORT WEB [ par VIDEOGRAPH ]
Salut à tous,J'ai un soucis dans Photoshop 6. J'ai créé un script qui devrait se terminer par un export optimisé pour le web, avec certaines options d
Lecture des fichiers DXF [ par MickG ]
Salut Je fais un programme pour convertir un fichier DXF en Fichier MAPINFO mais je manque de documentation sur la structure.J'ai récupéré le "DXF Ref
Conversion de format 3D [ par Kerox ]
Bonjour, j'ai un fichier au format *.3ds et 3d studio max 6 n'arrive pas à le lire. Existe t'il un convertisseur de fichier afin que 3ds max puisse l
AutoCAD et Illustrator [ par djamine ]
Bonjourj'arrive pas a ouvrir un fichier DWG avec Illustrator msg est Fichier est endomagéQUelqu'un a une idée?si le fichier est bon?Merci
Exporter au format WMF [ par informatixo ]
Bonjour,J'ai windows XP Professionel SP2 et j'utilise Adobe Illustrator CS2. J'ai réalisé un petit logo et je voudrais l'exporter au format WMF mais j
Export dwg vers stl [ par LN37 ]
Bonjours,Quelqu'un peut-il me dire pourquoi lorsque j'exporte un solide dwg en stl j'obtiens un fichier de type "liste de certificats de confiance"?Me
autocad...3ds max [ par lambrozo ]
bonjours,voila j'ai un projet de visite virtuelle que je doit realiserer.Pour commencer je doit creer les maisons en 3d.On m'a dit que jpouvai faire l
cours autocad [ par lilia123 ]
Bonjour Je cherche cours autocad svp. Merci
Autocad vs Macintosh [ par morrissette ]
cats J'aimerai avoir plus d'info à savoir, comment pourrais-je installer, si cela est possible, un logiciel me permettant de visionner des dessins fo
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|