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
VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet [ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS.[ #SHAREPOINT 2013 ] LES MODèLES DE SITES STANDARDS. par Patrick Guimonet
C'est un point peu mis en avant mais SharePoint 2013 a été l'occasion de remettre de l'ordre dans les modèles de sites. Tout d'abord, un certain nombre de modèles ont été tout simplement rendus obsolètes (cf. Fonctionnalités déco...
Cliquez pour lire la suite de l'article par Patrick Guimonet 10 ERREURS DE COMPRéHENSION CONCERNANT SHAREPOINT.10 ERREURS DE COMPRéHENSION CONCERNANT SHAREPOINT. par Patrick Guimonet
Une excellente infographie (qui a sa source ici :http://www.evokeit.com/sharepoint-blog/misconceptions-of-microsoft-sharepoint) que j'ai traduite et commentée sur le blog d'Abalon : http://abalon.fr/blog/10-erreurs-de-comprhension-...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Forum
REPRODUIT UN LOGOREPRODUIT UN LOGO par bazvindous
Cliquez pour lire la suite par bazvindous
Logiciels
Nego Facturation (1.84)NEGO FACTURATION (1.84)Nego Facturation est un logiciel complet qui permet de gérer vos factures et devis très simplemen... Cliquez pour télécharger Nego Facturation Revealer Keylogger Free (2.07)REVEALER KEYLOGGER FREE (2.07)Keylogger invisible et gratuit pour Windows 8, 7, Vista ou XP. Revealer Keylogger Free vous perme... Cliquez pour télécharger Revealer Keylogger Free Devis-Factures PHMSD (2.1.0.1)DEVIS-FACTURES PHMSD (2.1.0.1)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD Ludoprêt (3.2)LUDOPRêT (3.2)Logiciel gratuit de gestion de ludothèque.
Gestion des jeux et des adhérents.
Gestion des for... Cliquez pour télécharger Ludoprêt 974 Application Server (13.2.1.3)974 APPLICATION SERVER (13.2.1.3)Ecommerce, Blogueur, Vitrine, Newsletter, Java IDE, ..., in the cloud et sous haute dispo. Facile... Cliquez pour télécharger 974 Application Server
|