AutoCAD:从内存而不是文件打开图形/数据库

时间:2016-04-26 14:27:26

标签: drawing autocad dwg objectarx

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

引起我注意的是

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

功能,但我无法找到有关AcDwgFileHandle类的任何信息。如果它只是Win32 HANDLE或其他东西的包装器,它很容易解决我的问题。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

正如您已经回答there AcDwgFileHandle是内部类(不是句柄包装器)。

使用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将在磁盘上但已加密。