【问题标题】:Open .dwg Using SolidWorks API使用 SolidWorks API 打开 .dwg
【发布时间】:2017-02-07 00:52:55
【问题描述】:

我正在尝试在 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 无法很好地打开 dwg 文件。如果你手动打开它,通常会有一个转换过程。你试图完成什么?您可能需要 eDrawings API 或其他东西。
  • @AndrewK 我正在尝试开发一个将我们的 .dwg 转换为 .tif 的程序。在花了一些时间尝试用 SolidWorks 来做这件事之后,它似乎不像我们想象的那么容易,因为 SolidWorks 不能很好地与 .dwg 配合使用
  • 我建议尝试使用 eDrawings API...这样可以更好地处理 2D 绘图,而且我知道 UI 可以轻松保存到 .tif

标签: c# solidworks dwg


【解决方案1】:

SOLIDWORKS API 建议使用方法ISldWorks::LoadFile4 加载非本地文件。

这就是 API 文档所说的带有 LoadFile4 的 aboot dwg 文件。

DXF/DWG 文件:

你可以:

让 SOLIDWORKS 确定默认值:

计算纸张大小和纸张比例以适应输入数据。

长度单位由输入 DXF/DWG 文件的标头确定。

图纸名称与输入 DXF/DWG 文件中的布局名称相同。

  • 或-

使用以下方法设置您自己的值:

ISldWorks::GetImportFileData 获取 IImportDxfDwgData 界面。

使用以下方法与“”的工作表参数(一个空的 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 参数中的有效布局名称以设置特定于工作表的 设置,它会覆盖默认设置。如果任何一个 没有为给定的布局名称指定单个项目,值 使用的是默认值(布局名称“”)。如果默认值为 未指定,SOLIDWORKS 计算并使用有意义的值 那个项目。

【讨论】:

    【解决方案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
    

    【讨论】:

    • 我在使用 dwgs 的 Loadfile4 时遇到了一些问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2021-05-05
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多