2016-04-26 4 views
0

Je travaille sur un plugin qui permettrait à AutoCAD d'ouvrir mes dessins cryptés. Je voudrais éviter d'avoir à déchiffrer le dessin dans un fichier dwg sur le disque. Cependant, les API pour l'ouverture d'un dessin dans AutoCAD semblent toutes fonctionner uniquement avec les chemins de fichiers. Existe-t-il un autre moyen de charger un dessin/une base de données dans AutoCAD, qui n'implique pas d'avoir un fichier dwg sur le disque dur?AutoCAD: Ouverture d'un dessin/base de données à partir de la mémoire, au lieu d'un fichier

Ce qui a attiré mon attention était la fonction

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

, mais je n'a pas pu trouver aucune information sur la classe AcDwgFileHandle. Si c'était juste un emballage pour Win32 HANDLE ou quelque chose, cela résoudrait facilement mes problèmes.

Merci pour votre aide.

+0

pas sûr de ce que vous entendez par "fichier en mémoire", pouvez-vous clarifier? –

Répondre

0

Comme vous l'avez déjà répondu there AcDwgFileHandle est une classe interne (pas l'encapsuleur).

Avec la dépendance Wolker nous pouvons trouver quelques fonctions 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)) 

Mais malheureusement, ces fonctions sont inutiles pour vous.

Vous pouvez penser à changer dwgIn dwgOut en quelque sorte. Donc .dwg sera sur le disque mais déjà crypté.