[英]Open .dwg Using SolidWorks API
我正在嘗試在SolidWorks 2015中打開一個.dwg文件。我已經可以通過使用打開.slddrw了。
IModelDoc2 doc = swApp.OpenDoc6("C:/Temp/BlankDraw.SLDDRW", (int)swDocumentTypes_e.swDocDRAWING, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0);
當我用.dwg替換.slddrw部分時,問題就出現了,它返回null。
有沒有辦法以不同的方式來打開.dwg?
SOLIDWORKS API建議使用方法ISldWorks::LoadFile4
來加載非本機文件。
這是API文檔說使用LoadFile4 aboot dwg文件的內容。
DXF / DWG文件:
您可以:
讓SOLIDWORKS確定默認值:
計算紙張尺寸和紙張比例以適合輸入數據。
長度單位由輸入DXF / DWG文件的標題確定。
工作表名稱與輸入DXF / DWG文件中的布局名稱相同。
- 要么 -
使用以下方法設置您自己的值:
ISldWorks :: GetImportFileData獲取IImportDxfDwgData接口。
在加載文件之前,使用以下方法將Sheet參數“”(空字符串)設置為默認值:
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參數中使用有效的布局名稱來設置工作表特定設置,這將覆蓋默認設置。 如果沒有為給定的布局名稱指定任何單個項目,則使用的值來自默認值(布局名稱“”)。 如果未指定默認值,SOLIDWORKS將為該項計算並使用有意義的值。
簡單如下:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.