問題タブ [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.

0 投票する
2 に答える
282 参照

autocad - LSPをobjectarx C#に変換してAutocadポリラインを閉じる方法は?

ポリラインが接続されて開いているかどうかを確認する C# objectarx 関数を作成する必要があります。その場合は、ポリラインを閉じます。このサンプル コードは、接続されているかどうかを確認しないため、使用できません。

私はそれを行う方法を見つけましたが、LISP にあります。これをC# objectarx .netに変換する方法を知っている人はいますか?

更新 #1

私が実際にやろうとしているのは、ポリラインを閉じる必要があるかどうかを判断することです。C の形をしたポリラインと、O の形をした別のポリラインを想像してみてください。この場合、O の形をしたポリラインを閉じたいと思います。

例:

0 投票する
0 に答える
934 参照

c++ - ObjectARX / C++ / MFC スタック AutoCAD プラグインを作成するときに、WM_GESTURE または WM_TOUCH Windows メッセージをインターセプトするにはどうすればよいですか?

Microsoft Foundation Classes フレームワーク (MFC) で C++ を使用する AutoCAD プラグインを作成し、AutoCAD に関連付けられた ObjectARX ソース ライブラリをリンクして、プラグインを AutoCAD のネイティブ コードと統合するのに役立てています。

現在、ピンチ、ズーム、パンなどのタッチスクリーン ジェスチャを使用したときに作成される Windows メッセージをインターセプトできないという問題が発生しています。

これは、以下で実装したフック メソッドの例です。基本的にすべてのマウス イベント (左クリック ダウン、左クリック アップ、マウス ホイール、右クリック、ダブルクリックなど) を受け取ることができます。問題は、タッチスクリーンで指を使ってピンチやズーム、2 本指のパンなどのジェスチャを実行すると、Windows メッセージがこのフックに転送されないことです。WM_GESTURE または WM_TOUCH メッセージもこのフックによって傍受されていると想定していました。

ただし、図面を含む AutoCAD のメイン フレーム ウィンドウは、私が作成しているこれらのジェスチャ アクションに引き続き応答します。つまり、指でピンチ、ズーム、およびパンしながら、AutoCAD のネイティブのズームおよびパン機能を使用できます。私が今抱えている問題は、このデフォルト機能をブロックまたは変更する必要がある場合に、これらのジェスチャ イベントを傍受または変更する方法がないことです。

呼び出される別のメソッドには、フックを ObjectARX に登録する次のコード行があります。

Windows メッセージをインターセプトする透明なウィンドウをシミュレートするコードをいくつか書いてみました (同様の質問をしている他の人に提案されているように)。残念ながら、少なくとも私が試したコードでは、これらの種類の Windows メッセージ (WM_GESTURE / WM_TOUCH) を傍受できませんでした。

これらのメッセージを取得するために何か特別なことをする必要があるかどうか疑問に思っています。または、根本的に何かを理解していないだけで、この問題に対処する方法が完全に間違っている可能性があります。

私が思いついた別の潜在的な解決策のアイデアは、AutoCAD のメイン フレーム「Wnd」(ウィンドウ) クラスをオーバーライドする方法を見つけ、特に「WndProc」メソッドをオーバーライドする方法を見つけることでした。他の同様の提案をオンラインで見たからです。問題は、ObjectARX でそれを適切に行う方法が正確にわからないことです。以下のコード行を使用すると、メイン フレーム ウィンドウを取得できると思います。

注: Windows 10 マシンのみを対象としています。

この問題に頭を悩ませようとしてかなりストレスを感じていたので、洞察や助けは非常に高く評価されており、この時点では時間を無駄にしているように感じます。

お時間とご尽力いただき、誠にありがとうございました。

0 投票する
1 に答える
271 参照

visual-c++ - 複数のオブジェクトのAutocadを作成する最良の方法は何ですか?

私は ObjectArx について学んでいます。私が知る限り、Arx でオブジェクトを作成する一般的な方法は 3 つあります。

  • acdbEntMake を使用する
  • record.append (エンティティ) を使用する
  • record.append と transaction の組み合わせを使用する

だから、私の質問は次のとおりです。それぞれの場合にそれらを使用する必要があるときに、誰かが私を助けることができますか? お互いの性能に大きな違いはありますか?

次の 2 つの方法に比べて、オブジェクトの数が多い場合に acdbentmake を使用することをためらっています。