問題タブ [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.
c# - C#でAutoCAD属性の単位を検索
AutoCAD図面のModelSpace内のすべてのオブジェクトを取得しています。これらのオブジェクトは、Pipe、Duct、DuctFitting、Line、Mesh、Solid3Dなどのさまざまなタイプであるため、TypeDescriptorを使用してそれらのプロパティを決定するロジックを作成しています。オブジェクトのすべての属性を取得するためのよりスマートな方法があるかどうか、および特定のアイテムの測定単位を決定する方法があるかどうか疑問に思っています。図面で使用されている単位を調べる方法は知っていますが、「長さ」というプロパティが実際にはフィートやメートルなどの図面の単位を使用した長さであることがわかります。
これが私が欲しいすべてのアイテムについて列挙しなければならないコードです:
c# - AutoCADから初期化した場合、Monoアドインはロードされません
私は非常に複雑なアプリケーションを持っています、このアプリケーションは次のように構成されています:
Main.exe
(スタンドアロンアプリケーションです)
Main.exe
使用Project1.dll
(フォームを含む)
内に含まれるフォームは、を使用しProject1.dll
て別のdll(Project2.dll
)によって拡張されますmono.addins
でMain.exe
私は正しい方法で拡張されたフォームを見ることができます。
また、autocadの内部を介してロードされるautocadコネクタ(たとえばProject3.dll
)を実装しましたnetload
。このコネクタはの形式を使用し、Project1.dll
その形式はautocadでも拡張する必要があります。
その結果、autocad内ではフォームが拡張されていないように見え、コードをデバッグすると次のようになります。
foreachはアドインを生成しません。
これらの.dllはそれぞれ同じディレクトリに保存されていることに注意してください。
問題はautocadexeファイルの別の場所にあると思いますが、いくつかの調整を試みましたが、何も機能しません。
私はもう試した:
- .dllsパスを含む.addinsファイルを作成します。
- すべての.dllのコピーを使用してサブフォルダー\addins\を作成します
AddinManager
与える.dllパスを初期化しますAddinManager.Registry
.dllパスを指定して更新します
コード構造は非常に複雑であるため(多くのファイルとプロジェクトが含まれます)、貼り付けたり、機能するコードを提供したりするのはそれほど簡単ではありません。
visual-studio-2010 - Visual Studio 2010 でエンティティ フレームワーク 4.1 を使用して x64 プラットフォームをターゲットにする
Entity Framework 4.1 を参照するデータベース アプリケーションがあります。プロジェクトのプロパティ ウィンドウで、構成とプラットフォームの選択オプションの両方が無効になっています。このアプリケーションを x64 システムだけに限定したくはありません。
また、同じソリューションに他のプロジェクトがいくつかあり、プラットフォームとして x86 オプションしか使用できません。
x64 システムを具体的にターゲットにできなかった理由がわかりません。PCでWindows 7 64ビットを実行しています。
特に x64 ベースのシステムをターゲットにする方法の手がかり。すべてのプロジェクトは .Net Framework 4 を参照しています。
「Any CPU」オプションのみを示すプロジェクトのスクリーンショット
編集 1: x64 システムをターゲットにする必要がある理由。
実際、私が開発している dll は、Autocad x64 システムにロードする必要があります。しかし、DLL を Autocad にロードしようとすると、次のエラーで DLL が拒否されます。
ここで間違っているかもしれませんが、x64 形式ではないため、Autocad x64 が dll を拒否しているのではないかと強く疑っています。問題の根本はautocadにdllをロードしているためです。Web を検索したところ、AutoCAD は x32 および x64 タイプについて非常にうるさいことがわかりました。Autocad プラグインを開発するためのネイティブ開発環境AutoCAD.netは、x32 および x64 タイプで別々に利用することもできます。x32 で開発されたプラグインが x64 タイプの Autocad バージョンで実行されるとは思いません。そのため、Autocad プラグインのターゲット プラットフォームについて具体的に説明する必要があります。
html - DWG ファイルを HTML に埋め込む
HTMLページにDWGファイルを埋め込む方法を教えてください。
タグを Volo Viewer で使用してみましたが、このソリューションは IE でのみ実行され、Firefox や Chrome では実行されません。
.net - vb.netを使用したAUTOCADプラグインパレット-自動起動-簡単なインストール-簡単な使用
Autocadとvb.netの統合に興味がありました。タスクは、autocadがvb.netコードを使用して自動的に描画できるようにすることです。最終的なプロジェクトでは、tmeplatesと情報を含むcsvファイル(そしてもちろん私のプラグイン)から始めて、ケーブルの描画を自動的に作成できます。
「ユーザーフレンドリー」が私のキーワードです。ユーザーがautocadでコマンドを入力してプラグインをインストールし、それを使用する必要がある実装は好きではありません。このため、私は2つの問題を抱えていました。
1)ユーザーがプラグインを簡単にインストールできるようにする方法を見つける
2)グラフィックインターフェイスを備えた使いやすいプラグインを開発します。
私は解決策を見つけました、そしてそれをあなたと共有したいと思います。
編集:@David wolfeは、autocad 2012以前でプラグインを自動的に起動するソリューションで回答しましたが、私の工場にはautocad2011以降のライセンスしかありません。
c# - Autocad プロジェクトの詳細を取得
プラグインで C# を使用して、Autocad プロジェクトのプロジェクト詳細情報を取得しようとしています。次のクラスのいくつかのプロパティにアクセスできます。
ただし、このクラスは、プロジェクト番号などのすべてのプロジェクトの詳細を提供するわけではありません。C# 経由でプロジェクトの詳細にアクセスするにはどうすればよいですか?
autocad - AutoCAD の図面を画像に変換するには?
各正方形に数字が含まれている土地の正方形の計画である Autocad 図面があります。
ファイル --> データのエクスポート --> およびファイル形式ビットマップ (bmp) を選択して、画像に変換しようとしました。(私はAutocad 2013 Mac版を持っています)
ファイルを画像に変換したのですが、画質が悪すぎて、画像を拡大しても四角の中の土地番号が見えません。
Postscript (PS ファイル形式) も試してみました。品質は少し良くなりましたが、それでもまだ悪いです。
Autocadファイルを画像に変換する方法はありますか?それでも高品質の詳細を保持します
私のウェブサイトでオンラインで公開したいので、ファイルを画像に変換する必要があります。他に autocad ファイルをオンラインで公開する方法があったかもしれません。もしそうなら、アドバイスをお願いします。しかし、Googleマップの上に表示できるように、autcad(計画)の背景を透明にしたいというトリックがあります。autocad プラグインを使用した場合、透明にすることはできません。右?
log4net - log4net が配置時に Autocad プラグインからログを記録しない
autocad の .net API を使用して AutoCAD 2012 プラグインを開発しています。Autocad プラグインは、Autocad の起動時に Autocad ランタイムに読み込まれる dll です。Visual Studio 開発環境を使用して、log4net から正常にログを記録できました。ただし、 , when I run the plugin outside of Visual Studio, that is when I deploy my plugin, the log4net does not log any messages or even create a log file. ログに関連するコードと構成ファイルは次のとおりです。
log4net_autocad.config
myPlugin.cs:ログを構成するコード
void IExtensionApplication.Initialize()は、Autocad の起動時に実行されます。私がチェックしたいくつかのこと:
- Autocad プラグインが Autocad に正しくロードされていることを確認しました。これは、log4net 初期化コードが実行されたことを意味します。
- デプロイされたアプリケーションの bin ディレクトリに log4net 構成ファイル (log4net_autocad.config) がコピーされていることを確認しました
奇妙なことに、開発環境 (VS 2010) でプラグインをロードすると、プラグインが適切にログに記録されます。では、log4net が展開時にログを記録しない (またはログ ファイルを作成する) のはなぜですか。
編集: 私はいくつかの追加のものをチェックしました
ログインする直前のプラグインで、警告ダイアログで次のことを確認しました。
- log.Logger.Nameは、使用しているロガーの名前を正しく返します。
- log.Logger.IsEnabledFor(log4net.Core.Level.All) は、構成ファイルでLevel Value=Allを構成したにもかかわらず、false を返します。
EDIT-2
回答の参照URLで説明されているように、構成ファイルを定義しようとしました。ドキュメントで概説されているアプローチを引用しています。
2.] アプリケーション構成ファイル: [AppName].exe.config、[AppName].dll.config アプリケーション レベルの構成 [AppName].exe.config または [AppName].dll.config は、このドキュメントのほとんどの場所です。時間を費やします。この構成ファイルには、すべてのアプリケーションレベルの設定が含まれ、Roaming-User および Local-User 構成ファイルに関連付けられた設定の使用およびデフォルト値を定義するために使用することもできます。これらのファイルは通常、アプリケーションの実行可能ファイルと同じディレクトリに格納されますが、必要に応じて別の場所に配置できます。これについては、今後さらに多くの議論が行われるでしょう。
上記のアプローチは私のアプリケーションに適していますが、まだロガーに何も記録させることができません.RelayAnalysis_Autocad.dll.configという名前のlog4net構成ファイルを定義し、構成のためにlog4netに提供しました. 私には理解できないことが他にもあると思います。autocad プラグインから log4net を使用してログを記録できるかどうか疑問に思い始めましたか? また、環境変数の読み取りに関する問題を排除するために、環境パスを削除してハードコーディングしました。まだ運がありません。
c# - Windows フォームは、ShowDialog() によって呼び出された場合にのみ例外を発生させます。
内部に間違ったコードを含む Windows フォームがあります (エラーが何であれ、発生した例外を意図的にチェックしています)。
try-catch
フォームの内部でも外部でも、私は any を使用していないことを思い出してください。デバッガーが例外をスローして実行を停止することを期待しています。
を使用してフォームを表示するShowDialog()
と、問題なく例外がスローされます。を使用してフォームを表示するShow()
と、例外は発生しません。コードの実行中にエラーが発生し、コードは例外が発生する場所で実行を中断しますが、フォームはアクティブで機能し続け、クリックを受け入れ、すべてのイベントを正常に実行します。デバッガーは、フォームによって発生した例外をスローすべきではありませんか???
それが普通ですか???メソッドは本当に例外をスローしないことを意味していましたShow()
か??? それとも、Autocad プラグインにあるフォームからの奇妙なバグですか?
いくつかのコード (役に立たないと思いますが、あります)