我正在尝试在SolidWorks 2015中打开一个.dwg文件。我已经成功地使用
打开.slddrwIModelDoc2 doc = swApp.OpenDoc6("C:/Temp/BlankDraw.SLDDRW", (int)swDocumentTypes_e.swDocDRAWING, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0);
当我用.dwg替换.slddrw部分时会出现问题,它会返回null。
我是否有办法以不同的方式来打开.dwg?
答案 0 :(得分:3)
SOLIDWORKS API建议使用方法ISldWorks::LoadFile4
加载非本机文件。
这就是API文档说使用LoadFile4 aboot dwg文件的内容。
DXF / DWG文件:
你可以:
让SOLIDWORKS确定默认值:
计算纸张尺寸和纸张比例以适合输入数据。
长度单位由输入DXF / DWG文件的标题确定。
工作表名称与输入DXF / DWG文件中的布局名称相同。
- 或 -
使用以下方法设置您自己的值:
ISldWorks :: GetImportFileData获取IImportDxfDwgData 接口
使用以下方法,使用Sheet参数“”(空白 string)在加载文件之前设置默认值:
IImportDxfDwgData :: GetPaperSize
IImportDxfDwgData ::为getPosition
IImportDxfDwgData :: GetSheetScale
IImportDxfDwgData :: ImportMethod
IImportDxfDwgData :: LengthUnit
IImportDxfDwgData :: SetPaperSize
IImportDxfDwgData :: SETPOSITION
IImportDxfDwgData :: SetSheetScale
IImportDxfDwgData :: SHEETNAME
有关导入DXF / DWG数据的详细信息,请参阅IImportDxfDwgData。
注意:
获取IImportDxfDwgData接口不会获取默认值 来自输入文件。您未设置的任何值都将设置为值 由SOLIDWORKS计算。
如果DWG / DXF文件有多个工作表,请使用这些方法 Sheet参数中的有效布局名称,用于设置特定于工作表 设置,它会覆盖默认设置。如果有的话 没有为给定的布局名称(值)指定单个项目 used来自默认值(布局名称“”)。如果默认值是 未指定,SOLIDWORKS计算并使用有意义的值 该项目。
答案 1 :(得分:2)
简单如下:
Option Explicit
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = Application.SldWorks
boolstatus = swApp.LoadFile2("T:\Debug-LstBlock.dwg", "11 0")
Set Part = swApp.ActiveDoc
End Sub