いくつかの図面でバッチ処理を行うプログラムがあります。図面の1つを開こうとすると、例外「データの復号化エラー」がスローされます。特にこの図面は、AutoCAD以外のサードパーティツールによって生成されました。さらに、この問題はAutoCAD 2011でのみ発生します。AutoCAD2010では、ファイルがAutoCADの外部で生成されたことをユーザーに確認しますが、クリックするとバッチが続行されます。マネージド.NETAPIとCOMInteropAPIの両方を使用して開こうとしましたが、どちらも同じエラーが発生します。
これがAutoCADformusからの投稿ですが、解決策は提供されませんでした。
http://forums.autodesk.com/t5/NET/Error-Decrypting-Data-Acad-2011/td-p/2661762/highlight/true
マネージドAPI
string drawingFilePath = @"C:\Drawings\MyDrawing.dwg";
Application.DocumentManager.Open(drawingFilePath, false);
COM相互運用
string drawingFilePath = @"C:\Drawings\MyDrawing.dwg";
Object comAutoCAD = Application.AcadApplication;
Object comDocuments = comAutoCAD.GetType().InvokeMember("Documents", BindingFlags.GetProperty, null, comAutoCAD, new object[] { });
Object comDocument = comDocuments.GetType().InvokeMember("Open", BindingFlags.InvokeMethod, null, comDocuments,
new object[] { drawingFilePath, false, Type.Missing });
Document.FromAcadDocument(comDocument);