2016-04-26 3 views
0

Я работаю над плагином, который позволит AutoCAD открыть мои зашифрованные рисунки. Я хотел бы избежать необходимости расшифровывать чертеж в файл dwg на диске. Однако API-интерфейсы для открытия чертежа в AutoCAD все, похоже, работают только с файловыми путями. Есть ли другой способ загрузки чертежа/базы данных в AutoCAD, который не требует наличия файла dwg на жестком диске?AutoCAD: открытие чертежа/базы данных из памяти вместо файла

Что привлекло мое внимание функция

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

, но я не смог найти какую-либо информацию о классе AcDwgFileHandle. Если бы это была просто оболочка для Win32 HANDLE или что-то еще, это легко разрешило бы мои проблемы.

Благодарим за помощь.

+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 будет на диске, но уже зашифрован.