输出到其他文件格式
From AutoCAD ActiveX/VBA
如果需要在其他应用程序中使用 AutoCAD 图形,可以使用 Export 方法将图形转换为特定格式。该方法可以将 AutoCAD 图形输出为 WMF、SAT、EPS、DXF 或 BMP 格式。Export 方法需要输入三个值:要创建的新文件的名称、新文件的扩展名和要输出的对象选择集。
输出为 WMF、SAT 或 BMP 格式时,必须提供非空的选择集,该选择集指定要从图形中输出的对象。如果没有指定选择集,则不会输出任何内容,并且会产生可捕获的无效参数错误。
输出为 EPS 和 DXF 格式时,Export 会忽略选择集参数,但仍需要提供该参数。对于这两种格式,会自动输出整个图形。
本例在当前图形中创建一个圆,然后将图形输出到名为 DXFExprt.DXF 的文件,最后打开一个新图形并输入该文件。注意,这里提供了一个空的选择集作为 Export 的参数。当输出 DXF 文件时,虽然 Export 方法会忽略选择集信息,但省略该参数将导致语法错误。
Sub Ch3_ImportingAndExporting()
' 创建圆用于直观显示Dim circleObj As AcadCircleDim centerPt(0 To 2) As DoubleDim radius As DoublecenterPt(0) = 2: centerPt(1) = 2: centerPt(2) = 0radius = 1Set circleObj = ThisDrawing.ModelSpace.AddCircle _(centerPt, radius)ThisDrawing.Application.ZoomAll' 创建空的选择集Dim sset As AcadSelectionSetSet sset = ThisDrawing.SelectionSets.Add("NEWSSET")' 将当前图形输出到' AutoCAD 临时文件目录下的 DXF 文件Dim tempPath As StringDim exportFile As StringConst dxfname As String = "DXFExprt"tempPath = _ThisDrawing.Application.preferences.Files.TempFilePathexportFile = tempPath & dxfnameThisDrawing.Export exportFile, "DXF", sset' 删除空的选择集ThisDrawing.SelectionSets.Item("NEWSSET").Delete' 打开新图形ThisDrawing.Application.Documents.Add "acad.dwt"' 定义输入Dim importFile As StringDim insertPoint(0 To 2) As DoubleDim scalefactor As DoubleimportFile = tempPath & dxfname & ".dxf"insertPoint(0) = 0: insertPoint(1) = 0: insertPoint(2) = 0scalefactor = 2#' 输入文件ThisDrawing.Import importFile, insertPoint, scalefactorThisDrawing.Application.ZoomAllEnd Sub