【问题标题】:AutoCAD: Opening a drawing/database from memory, instead of a fileAutoCAD:从内存而不是文件打开图形/数据库
【发布时间】:2016-08-20 10:55:40
【问题描述】:

我正在开发一个插件,使 AutoCAD 能够打开我的加密图纸。我想避免将绘图解密为磁盘上的 dwg 文件。但是,在 AutoCAD 中打开图形的 API 似乎都只适用于文件路径。有没有其他方法可以在 AutoCAD 中加载图形/数据库,而不涉及在硬盘驱动器上保存 dwg 文件?

引起我注意的是

AcDbDatabase::readDwgFile(AcDwgFileHandle * pDwgFile, ...)

函数,但我无法找到有关 AcDwgFileHandle 类的任何信息。如果它只是 Win32 HANDLE 的包装器或其他东西,它可以轻松解决我的问题。

感谢您的帮助。

【问题讨论】:

  • 不确定“内存中的文件”是什么意思,您能澄清一下吗?

标签: drawing autocad dwg objectarx


【解决方案1】:

正如你已经回答的thereAcDwgFileHandle 是内部类(不是句柄包装器)。

使用 Dependency Wolker 我们可以在 acdb19.dll 中找到一些函数:

enum Acad::ErrorStatus AcDwgFileHandle::close(class AcDwgFileHandle * &)
enum Acad::ErrorStatus AcDwgFileHandle::open(wchar_t const *,class AcDwgFileHandle * &,int)
class AcDwgFileHandle * AcDwgFileHandle::open(wchar_t const *,int,enum Acad::ErrorStatus *,int (*)(int,int,int,int))

可惜这些功能对你没用。

您可能想以某种方式更改 dwgIn dwgOut。所以 .dwg 将在磁盘上但已经加密。

【讨论】:

    猜你喜欢
    • 2018-04-06
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 2018-04-25
    • 2021-11-29
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多