問題タブ [objectarx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
location - Autocad ObjectARX クラス AcDbGeoPositionMarker 座標変換
クラス AcDbGeoPositionMarker はどのように x、y、z 座標を緯度、経度、ELV に、またはその逆に変換しますか?
c++ - DLL が欠落している可能性があるため、VC++ 単体テスト プロジェクトは、テストを実行するための実行コンテキストを設定できませんでした
VC++初心者はこちら:
サードパーティ ライブラリ (特に AutoDesk の ObjectARX) を使用するプロジェクトを TDD しようとしています。
unittest プロジェクトと helloworld ARX プロジェクトを使用して、ダミー ソリューションを作成できました。ダミーのメソッドを正常にテストできます。すべてがクールです。
しかし、ObjectARX ライブラリから何かを呼び出すと、単体テストは失敗します
acdb21.dll
Dependency Walker について掘り下げて使用した後、コンパイルされた dll が、ARX ライブラリの 1 つと同じ名前のものが見つからないことがわかりました。コンパイルされた dll と同じフォルダーにあることを期待しています。
はなく、とファイルacdb21.dll
のみです。私の理解では、それらはdllにコンパイルする必要があります。.h
.lib
.h
リンカーはファイルとファイルを喜んで見つける.lib
ので、インクルードとライブラリのパスはすべて正しく設定されています。
Dependency Walker によって報告された欠落している dll は赤いニシンですか? 他に何か問題がありますか?
autocad-plugin - 線または点が領域の内側か外側かを確認するにはどうすればよいですか
ModelSpaceには、いくつかの曲線によって制限された領域があります(それらを結合してAcDbRegionを持っています)。
AcDbLine も描いています。
私が必要とするのは、ラインを分割してエリア内のみのラインを取得することです。
交点の取り方はわかったのですが、2つの交点を結んだ線が内側にあるかどうかを調べるにはどうすればよいでしょうか? それともエリア外?
drawing - AutoCAD: ファイルではなくメモリから図面/データベースを開く
AutoCAD で暗号化された図面を開くことができるようにするプラグインに取り組んでいます。図面をディスク上の dwg ファイルに復号化する必要はありません。ただし、AutoCAD で図面を開くための API はすべて、ファイルパスでのみ機能するようです。ハード ドライブに dwg ファイルを置かずに、AutoCAD に図面/データベースをロードする他の方法はありますか?
私が注目したのは、
AcDbDatabase::readDwgFile(AcDwgFileHandle * pDwgFile, ...)
関数ですが、AcDwgFileHandle クラスに関する情報は見つかりませんでした。Win32 HANDLE などの単なるラッパーであれば、問題は簡単に解決できます。
ご協力いただきありがとうございます。
autocad-plugin - acedGetDist を使用する場合、ユーザー入力値がキーボードによるものかポイントによるものかを確認するにはどうすればよいですか?
ユーザーに距離の選択を求める場合、acedGetDist
ユーザーは '4.0' のようにキーボードで値を入力するか、ペアまたはポイントをクリックすることができます。ユーザーが縮尺 1:1 で描画する限り、すべて問題ありません。ただし、ユーザーがポイントで指定された他のスケールの距離で描画したい場合は同じになりますが、ユーザーが値を入力した場合は再計算する必要があります。ユーザーがどのように値を入力したかを確認するにはどうすればよいですか?
最初にシステム変数「lastpoint」を確認しようとしましたが、acedGetDist でポイントを選択しても更新されません。私はZWCADを使用しています(おそらくそれが更新されていない理由です)
ユーザーがどのように値を入力したかを確認する方法はありますか?
c# - Acad のインスタンスが実行されて新しいドキュメントが作成されるまで待機するにはどうすればよいですか?
objectARX を使用して、新しいドキュメントを作成しようとしています。私が最初にやっていることは、AutoCad を実行することです。
次に問題は、Acad のインスタンスの準備が整うまで待つときです。Autocad ウィンドウがまだ準備できておらず、AcadApplication インスタンスを作成できないため、Process クラスを使用して彼の名前でプロセスを取得できません。Autocad が完全にロードされた場合にのみ機能するので、 を使用します。
スレッドで実行されている acadGrid メソッドは、AutoCad で新しいドキュメントを作成し、グリッドを描画します。機能する場合と機能しない場合があり、機能する場合でも CPU の 50% を使用します。時々、この例外が発生します。
c++ - AutoCAD C++ AcDbEntity を読み取り用に開く必要があるのはいつですか?
読み取り用にエンティティを開く必要がある場合と、省略できる場合があるかどうかはわかりません。たとえば、使用したいときにエンティティを開く必要がないことはわかっていますobjectId()
が、前にエンティティを開く必要があるメソッドがいくつかあります。AcDbPolyline
前に開く必要があるかどうかはわかりませんgetArcSegAt()
。多くの場合、メソッドを開く前に簡単に使用してみることができます。必要なものを取得するかどうかはわかりません。しかし、おそらくそれには簡単なルールがありますか?
例:
今_pPoly
は初期化されていますがpEnt->close();
、たとえば次のように使用したいため、閉じられています。
する必要がありますか :
前: