問題タブ [autocad-plugin]

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 投票する
1 に答える
2891 参照

c# - Windows フォーム コントロールを実行するアプリケーションを取得する

Autocad Plugin使用して正常に動作する をWindows Forms 作成しuser control (winforms)ており、将来好きな形で複製する を作成しました。

質問は

コントロールのコードから、そのコントロールを実行しているアプリケーションのインスタンスを取得するにはどうすればよいですか?

(おそらく純粋な winforms の問題)

条件:

プラグイン内で、問題なく Autocad アプリケーション インスタンスを取得できます。

このユーザー コントロールはseparate assembly (dll)、プラグイン アプリケーションで参照されるようになっているため、アプリケーション インスタンスに直接アクセスすることはできません。


シナリオについての簡単な説明:

Main AssemblyプラグインとしてAutocadによって実行されています。そのアセンブリには、Autocad アプリケーションがインスタンス化されています。

これで、Autocad で作業するための便利なフォーム コントロールがいくつかあり、それらはseparate assembly. (それは、私が好きなだけ多くの異なるプラグインでそれらを使用したいからです)。

そのため、Autocad は を実行しmain assemblymain assemblyのコントロールを実行しますseparate assembly

適切に動作させるために、これらのコントロールは、main assembly.

今日、私はアプリケーションをコントロールのプロパティとして使用しています。コントロールを操作する前に設定する必要があります。(設定を忘れると、例外が発生します)。作成者がパラメータを取るコントロールを持つことはできないので。

コントロールが実行中のアプリケーションを検出するようにしたいので、その回避策を避けます。

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

algorithm - ポイントを囲むポリゴンを見つけるアルゴリズム - ラインのみが定義されています

多くの直線を含む 2D 図面があります。これらの行はすべて数学的に知られています。そして、それらは他のものから独立しています。

各線の始点と終点を知っていると考えることができ、それらを交差させてすべての交点を見つけることができます。(詳しくは、Autocad に入っていますが、コードでしか作業できません。したがって、Autocad ソリューションよりもアルゴリズムが必要ですが、Autocad ソリューションも歓迎されます)。

問題は、ポイント (どこでも) が与えられた場合、それを含む小さなポリゴンを見つけたいということです。その多角形は、最も近い線によって形成されます。


詳細:

宣言されたポリゴンはありません。ただの線。任意の行数、任意のサイズ、任意の位置。そして所定のポイント。

これらの線は、1 つの多角形を形成する場合もあれば、多数の場合もあれば、まったく形成されない場合もあります。したがって、ポリゴンがどのように見えるかについての規則はありません。面の数に制限はなく、規則性はありません。(多角形を形成する点は、線を交差させることによって見つけられます。線は有限であり、交差しなければ多角形を形成しません。)

私の答えは、特定のポイントを含む可能な限り最小のポリゴンです。

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

browser - 3D DWG オブジェクトを回転できるブラウザ プラグインまたは js ライブラリはありますか?

このようなものを見たことがありますか?http://www.autodwg.com/dwg-viewer/dwgviewx.htmを試しましたが、2D オブジェクトのみをサポートしているようです

もう 1 つの問題は、IE8 で動作するはずだということです。

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

c# - Autocad.Interopを使用せずにAutocadエンティティを列挙する方法は?

Autocad 図面内のすべてのエンティティを列挙したいのですが、Autocad.Interop参照は使用しません。

Interop を使用すると、以下を選択できます。

しかし、Object Arx参考文献では、データベース内のトランザクションを使用してエンティティを取得し、オブジェクトを ID で取得するためのチュートリアルしか見つけることができません。作業を遅らせるのは本当に退屈なことだと思います。

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

.net - .NET の AutoCAD -INSERT コマンド

私は、AutoCAD プラグインを VBA から VB.NET に変換する任務を負っていますが、現在少し行き詰っています。

私が取り組んでいるコマンドは、新しいレイヤーを作成し(または、既に存在する場合はアクティブなレイヤーとして選択します)、ユーザーが選択したポイントとdwgファイルを指定する2つの「-INSERT」コマンドを実行します。次に、前のアクティブ レイヤがアクティブ レイヤとしてリセットされます。

挿入コマンドは次のようになります。

注: コマンド内のすべての改行はvbCR(not vbCrLf) として追加されます。

私の質問は、ObjectARX に対して .NET で同じ結果を得るにはどうすればよいですか? 非同期 (コールバックなし) であるため使用できませSendStringToExecuteん。つまり、実行が完了すると、現在のレイヤーをリセットできません。おそらく を使用して、純粋な .NET コードでこの機能を複製する何らかの方法が必要BlockTableですが、その方法はわかりません。

http://through-the-interface.typepad.com/through_the_interface/2006/08/import_blocks_f.htmlにある記事に従ってみましたが、ドキュメントに目に見える影響はまったくありませんでした。私も使用しようとしましmyDatabase.Insert(transform, otherDatabase, False)たが、コマンドプロンプトはブロックが既に存在しているためスキップされたことについて何かを言いましたが、それでも変更は見られませんでした。「-INSERT」コマンドが実際に舞台裏でどれほど魔法をかけているかはわかりませんが、それを .NET で複製することは可能でしょうか? それとも、(AutoCAD によって処理されるように送信されたテキスト コマンドとしてではなく) 通常の方法として呼び出すことができるのでしょうか?

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

.net - USB アクティベーション プログラムから情報を取得する

私の同僚は RCAD と呼ばれる AutoCAD 2010 プラグインを使用していますが (正しい名前かどうかは不明です)、仮想マシンにインストールされた Windows XP でのみ動作し、特定の USB を挿入するとアクティブになります。同じプラグインを開発する必要があります。そのプラグインと同じ機能を備えた AutoCAD 2014 ですが、まず USB とプログラムから情報を取得する必要があります。すべてのファイルが非表示になっているため、USB 内に dll またはファイルが見つかりませんでした。 USBからの情報?.NET リフレクターなどでプログラムをクラックできますか? ここから始めるべきかわからないので、どんな提案でも役に立ちます。ありがとうございます。

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

vb.net - .NET を使用して autocad で Lisp ファイルをロード (および実行) する

現在、いくつかの古い AutoCAD プラグインを VBA から VB.NET に書き直しています。結局のところ、上記のプラグインの (かなり大きな) 一部は LISP で実装されており、そのままにしておくように言われました。そのため、AutoCAD で .NET から LISP コードを実行すると問題が発生しました。現在、そのために必要なプロセスを説明しているオンラインのリソースがいくつかありますが (このようなもの)、それらはすべて、lisp ファイル/関数が既に読み込まれていることを当然のことと考えています。現在、変換方法を理解しようとして頭を悩ませている VBA 関数は"(LOAD ""<file>"")"、.最初から最後まで実行され、それが機能します)。

だから私の質問はです。.NET プラグインから autocad に Lisp ファイルをロード (および実行) するにはどうすればよいですか?