输出到其他文件格式

AutoCAD ActiveX/VBA

 
输出到其他文件格式
 
 
 

如果需要在其他应用程序中使用 AutoCAD 图形,可以使用 Export 方法将图形转换为特定格式。该方法可以将 AutoCAD 图形输出为 WMF、SAT、EPS、DXF 或 BMP 格式。Export 方法需要输入三个值:要创建的新文件的名称、新文件的扩展名和要输出的对象选择集。

输出为 WMF、SAT 或 BMP 格式时,必须提供非空的选择集,该选择集指定要从图形中输出的对象。如果没有指定选择集,则不会输出任何内容,并且会产生可捕获的无效参数错误。

输出为 EPS 和 DXF 格式时,Export 会忽略选择集参数,但仍需要提供该参数。对于这两种格式,会自动输出整个图形。

将图形输出为 DXF 文件,然后再将其输入

本例在当前图形中创建一个圆,然后将图形输出到名为 DXFExprt.DXF 的文件,最后打开一个新图形并输入该文件。注意,这里提供了一个空的选择集作为 Export 的参数。当输出 DXF 文件时,虽然 Export 方法会忽略选择集信息,但省略该参数将导致语法错误。

Sub Ch3_ImportingAndExporting()
      
    ' 创建圆用于直观显示
    Dim circleObj As AcadCircle
    Dim centerPt(0 To 2) As Double
    Dim radius As Double
    centerPt(0) = 2: centerPt(1) = 2: centerPt(2) = 0
    radius = 1
    Set circleObj = ThisDrawing.ModelSpace.AddCircle _
                    (centerPt, radius)
    ThisDrawing.Application.ZoomAll
      
    ' 创建空的选择集
    Dim sset As AcadSelectionSet
    Set sset = ThisDrawing.SelectionSets.Add("NEWSSET")
      
    ' 将当前图形输出到
    ' AutoCAD 临时文件目录下的 DXF 文件
    Dim tempPath As String
    Dim exportFile As String
    Const dxfname As String = "DXFExprt"
    tempPath = _
       ThisDrawing.Application.preferences.Files.TempFilePath
    exportFile = tempPath & dxfname
    ThisDrawing.Export exportFile, "DXF", sset 
      
    ' 删除空的选择集
    ThisDrawing.SelectionSets.Item("NEWSSET").Delete
      
    ' 打开新图形
    ThisDrawing.Application.Documents.Add "acad.dwt"
      
    ' 定义输入
    Dim importFile As String
    Dim insertPoint(0 To 2) As Double
    Dim scalefactor As Double
    importFile = tempPath & dxfname & ".dxf"
    insertPoint(0) = 0: insertPoint(1) = 0: insertPoint(2) = 0
    scalefactor = 2#
      
    ' 输入文件
    ThisDrawing.Import importFile, insertPoint, scalefactor
    ThisDrawing.Application.ZoomAll
      
End Sub