Тема: Сохранение из dwg в dxf

Может, кто знает, как сохранить все файлы в одной папке, в другом формате(например: из dwg в dxf)

Re: Сохранение из dwg в dxf

Небольшая справка из Help:
object.SaveAs FileName, FileType
Object
Document, MenuGroup
The object or objects this method applies to.
FileName
String; input-only
The full path and file name, or valid URL address, for the file. The active document or menu group takes on the new name.
MenuFileType
AcMenuFileType enum; input-only; required for menu groups
acMenuFileCompiled
A compiled menu file (MNC file type).
acMenuFileSource
A source menu file (MNS file type).
AcSaveAsType enum; input-only; optional for Document objects
acR12_DXF
AutoCAD Release12/LT2 DXF (*.dxf)
acR13_DWG
AutoCAD Release13/LT95 DWG (*.dwg)
acR13_DXF
AutoCAD Release13/LT95 DXF (*.dxf)
acR14_DWG
AutoCAD Release14/LT97 DWG (*.dwg)
acR14_DXF
AutoCAD Release14/LT97 DXF (*.dxf)
acR15_DWG
AutoCAD 2000 DWG (*.dwg)
acR15_DXF
AutoCAD 2000 DXF (*.dxf)
acR15_Template
AutoCAD 2000 Drawing Template File (*.dwt)
acNative
A synonym for the latest drawing release. In this release, this value equals acR15_DWG.

Re: Сохранение из dwg в dxf

А можно пример?

Re: Сохранение из dwg в dxf

Может быть так?:
Option Explicit
'Открываем все документы из папки
'и сохраняем в другом формате
Public Sub SaveAS()
    Dim MyDirName As String
    Dim ACadDos As AutoCAD.AcadDocument
'Указываем папку:
MyDirName = Dir("c:\MyDir\*.dwg")
Do
    If MyDirName = "" Then Exit Do
        'Открываем все файлы(DWG):
        Set ACadDos = Documents.Open("c:\MyDir\" + MyDirName)
            'Сохраняем как 14-ый DXF:
            ACadDos.SaveAS "c:\MyDir\" + MyDirName, acR14_dxf
        'Закрываем все файлы:
        ACadDos.Close
    MyDirName = Dir()
Loop
End Sub

Re: Сохранение из dwg в dxf

Дело в том, что метод SaveAs применим только для формата dwg, для перевода в другой формат следует использовать метод Export.
Вот схематичное решение:

Option Explicit
Sub DWG_to_DXF()
    'available Microsoft Scripting Runtime
    Dim fs As New FileSystemObject
    Dim fld As Folder
    Dim fl As File
    Dim fls As Files
    Dim FileName As String
    Dim ext As String 'extencion
    Set fld = fs.GetFolder("D:\Work\DWG")
    Set fls = fld.Files
    For Each fl In fls
       'Set fl = fld.Files(i)
       FileName = fl.Path
       ext = Right(FileName, 3)
       If (ext = "dwg") Then
          exportFile (FileName)
       End If
    Next fl
End Sub
Private Sub exportFile(FileName As String)
    On Error Resume Next
     ThisDrawing.Application.Documents.Open (FileName)
     FileName = Replace(FileName, "dwg", "")
    ' Create an empty selection set
    Dim sset As AcadSelectionSet
    Set sset = ThisDrawing.SelectionSets.Add("TEST")
    ' Export the current drawing to the file specified above.
    ThisDrawing.Export FileName, "DXF", sset
    ThisDrawing.Close
End Sub