1

objectARXコマンドを使用してAutoCADでdwgファイルを開くコードを見つけました。このコードは、クラスライブラリプロジェクトで記述した場合は正常に機能しますが、このコードをWindowsアプリケーションに配置したい場合に問題が発生します。私にこのエラーメッセージ:

'<Module>'の型初期化子が例外をスローしました。

内部例外:プロセスの初期化中にC++モジュールをロードできませんでした。

私のコードは:

String MyDWGFilePath = @"\\Server\SharedFolder\Projects\File1.dwg";
DocumentCollection dm = Application.DocumentManager;
Document doc = null;
 
if(File.Exists(MyDWGFilePath))
{
   doc = dm.Open(MyDWGFilePath, false);
   Application.DocumentManager.MdiActiveDocument = doc;
}

注: autocadがインストールされているフォルダーからacdbmgd.dllとacmgd.dllを追加し、COM参照からAutoCADとAXDBLibも追加しました。

私を助けてください...

4

3 に答える 3

4

私の理解では、Autodesk は、AutoCAD ライブラリの一部 (すべてではない*) を、AutoCAD アドレス空間の外で実行できないように調整しています。このライセンス制限に直面している可能性があります。(これをバックアップするための参照を求めて、Autodesk の Web サイトをクロールしています)。

編集: RealDWGは、AutoCAD 以外で .dwg 操作を行う場合にオートデスクが購入を望んでいる製品です。(まだAcDbMgdを探しているのはacadリンク内でのみ動作します...)

(*) クラス/dll の AcGe グループが AutoCAD の外部で使用可能であることは知っています - 私はいくつかの単体テストでそれらを使用していました。.dwg データベースを操作するものはすべて、AutoCAD 内で実行する必要があると思います。

于 2012-01-04T16:42:31.143 に答える
0

Windows プロジェクトのターゲット フレームワークを確認し、.Net Framework クライアント プロファイルに設定されている場合は、.Net Framework x に変更します。

于 2012-01-03T09:03:33.570 に答える
0

RealDWGが必要です。

RealDWG ドキュメント:

Visual Studio と ObjectARX マネージ ラッパーを使用して .NET ソリューションをセットアップする基本的な手順は、Microsoft Visual C# .NET と Visual Basic .NET のどちらを使用しても同じです。

Microsoft Visual Studio で ObjectARX マネージ ラッパーの使用を開始するには

  1. Visual Studio .NET で、クラス ライブラリ ソリューションとプロジェクトを作成します。
  2. [プロジェクト] メニューまたはソリューション エクスプローラーから [参照の追加] を選択します。
  3. ObjectARX SDK の \inc ディレクトリを参照し、acdbmgd.dll と acmgd.dll を選択します。
  4. メイン クラス ファイルで、使用する名前空間を追加します。

たとえば、C# では次のようになります。

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;

VB .NET の場合:

Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.RuntimeThe

ObjectARX SDK は、\samples\dotNet ディレクトリに .NET サンプルを提供します。

このセクションのトピック

  • 管理対象アプリケーションで AutoCAD コマンドを定義する
  • AutoLISP から呼び出すことができるメソッドを定義する
  • インスタンスおよび静的コマンド メソッドの使用
  • マネージド アプリケーションを AutoCAD にロードする
  • マネージド アプリケーションでの例外の管理
  • マネージド アプリケーションでのトランザクションの使用
  • ResultBuffer タイプの使用
  • 選択セットの管理
  • マネージ クラスを使用したユーザー インターフェイス アクセス
  • マネージド アプリケーションの初期化と読み込み時間の最適化の使用
于 2012-01-16T21:29:21.827 に答える