【问题标题】:Different FileOpenModes using design automation for AutoCAD使用 AutoCAD 设计自动化的不同 FileOpenMode
【发布时间】:2020-09-30 04:25:51
【问题描述】:

我有时似乎在打开绘图数据库时遇到问题。过去,我使用过:MyDb.ReadDwgFile(DrawingName, IO.FileShare.ReadWrite, True, Nothing),其中 IO.Fileshare.ReadWrite 是兴趣点。但是,当我转向设计自动化时,我开始遇到问题。后来,我找到了 FileOpenMode.OpenForReadAndAllShare 的不同文件打开模式枚举并开始使用它。

我知道这两个枚举都来自不同的库(system.io 与 autodesk.autocad.databaseservices),但为什么我使用一个与另一个时断断续续?可能是因为 .dwg 版本,还是因为正在加载 AEC 库?我切换到 Autodesk 枚举并取得了一段时间的成功,但现在我有一些文件通过了,而另一些则没有。目前,我的计划是尝试一个,检查是否失败,然后再尝试另一个。有其他人遇到这种情况吗?

【问题讨论】:

    标签: autodesk-designautomation


    【解决方案1】:

    我认为这不是设计自动化所特有的。我认为相同的 DWG 文件在您的机器上的行为也会相同。我怀疑正在发生的事情是您在绘图中有一些不可读的对象。 ReadWrite 将使用“延迟加载”代码路径:仅从磁盘加载您打开的对象。 “...AllShare”将从磁盘加载每个对象,因为您希望其他人能够同时访问绘图。

    【讨论】:

    • 首先,感谢您解释差异;我不知道。但是我已经使用 ReadWrite 十年了,并且在我通过 DA 运行的同一张图纸上没有遇到任何问题。由于在 DA 中使用 ReadWrite 的问题,我只切换到 AllShare。现在,我在每种方法之前和之后放置了一个 Trace 语句,第一个被捕获在 Try-Catch 中,第二个在 Catch 中。运行后我会发布结果。
    • 好吧,Try-Catch 的废话效果不太好,但我意识到我今天早上抓到了一组更新的绘图,所以我决定按照你的建议对它们进行调查,是的,他们里面有一堆垃圾。无论如何,谢谢你的提示。
    猜你喜欢
    • 2021-07-13
    • 2017-07-19
    • 2020-12-10
    • 2019-06-15
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 2020-11-30
    • 2019-07-12
    相关资源
    最近更新 更多