問題タブ [revit-api]

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 に答える
938 参照

c# - Revit Api を使用してライブラリ パーツを配置する

Revit API を使用してファミリ シンボルを読み込みます。以下のコードは機能していますが、ファミリを Revit にロードし、ファミリ ツリーから手動でドラッグするか、関連するファミリ ツールを使用して挿入する必要があります。

ユーザーにどこに配置したいかを尋ねるようにするにはどうすればよいですか? (ファミリを編集しているときに「プロジェクトにロード」をクリックしたときと同様)、ファミリ ツリーからドラッグする必要はありません。

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

c# - C#で欠落している属性に基づいてコンパイラエラーを生成するにはどうすればよいですか?

RevitStructureAPI用にいくつかのアドインを作成します。各ツールは、インターフェイスIExternalCommandを実装するクラスを持っている必要があります。

Revitの最新バージョンでは、ツールを機能させるには、そのインターフェイスを実装するクラスに2つの属性が必要です。

[Regeneration(RegenerationOption.Manual)] [Transaction(TransactionMode.Automatic)]

括弧内の値は変更できますが、そこに何かがあるはずです。多くの場合、属性を設定するのを忘れていることに気づき、ランタイムになるとクラッシュします。Visual Studio 2010に、クラスがそのインターフェイスを実装する場合、これら2つの属性が必要であるというコンパイラの警告またはエラーを追加する方法はありますか?それが助けになるなら、私はリシャーパーを持っています。

誰かが私を正しい方向に向けることができますか?

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

c# - Visual Studioでのリモートデバッグ:シンボルファイルがモジュールと一致しません

私はこの質問に対する答えを見つけようとしてネットを精査してきましたが、他のすべての提案は機能しません。

別のプログラムへのアドインであるC#.net3.5dllがあります。ユーザーが特定のボタンを押すと、プログラムはdllを呼び出します。私のツールには、ユーザーのコンピューターの特定のセットアップに関連するエラーがあります(私のツールでは再現できません)ので、リモートデバッグしたいと思います。

リモートPCでデバッグツールをセットアップし(2010年ですが、VS 2008でも同じ結果を試しました)、DLLを実行します。次に、[デバッグ]> [プロセスにアタッチ]に移動し、リモートPCを選択し、dllをホストするexeファイル「Revit.exe」を選択すると、正常にアタッチされます。しかし、シンボルがロードされていないと表示されているため、ブレークポイントなどを設定することはできません。(/が付いた赤い塗りつぶされていない円!)

モジュールウィンドウを開き、DLL'PLT2.dll'を右クリックして、シンボルパスからシンボルをロードしようとすると、DLLのすぐ隣のネットワークドライブにあるPDBファイルを選択します。モジュールと一致します。

私はネット上で見つけた提案に基づいて以下を試しました:

  • コードが最適化するように設定されていないこと、および出力デバッグ情報が完全に設定されていることを確認しました。
  • PDBファイルはDLLと完全に一致しているので、それらをすべて削除して再構築しました。
  • 両方のコンピューターのシンボルへのパスは同じです
  • マイコードだけを有効にする

誰かが私に何ができるかについて何かアイデアを持っていますか?

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

c# - Revit MEP 2011 C# はすべての機器を反復処理します

図面内のすべての機器を反復処理して、機器の名前を取得したいと考えています。

ここに私が持っているものがあります:

foreachループで次のエラーが発生します。

タイプ 'Autodesk.Revit.DB.Element' を 'Autodesk.Revit.DB.Electrical.ElectricalEquipment' に変換できません

助言がありますか?

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

c# - Revitでビューを反復処理するにはどうすればよいですか?

ソフトウェアとプログラミングの両方をRevitに使用するのは少し新しいです。API全体とプロパティは、本能的ではない迷路だと思います。かなり時間をかけて検索し、現在のビューを取得する方法やビューを追加する方法を見つけましたが、プロジェクト内のすべてのビューのリストを取得できません。

誰かが私にどのAPIが必要かを指摘できますか?

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

c# - Revitですべてのパラメータを選択するにはどうすればよいですか?

5つの選択肢(コンボボックスのスタイル)のような要素のパラメーターがあります。現在選択されているものを取得する方法を知っていますが、他の4つの選択肢を取得する方法はありますか?

0 投票する
8 に答える
121012 参照

.net - System.BadImageFormatException 不正な形式のプログラムをロードしようとしました

パブリック .NET API に基づく別のプログラムのプラグインを作成しています。通常、これらのプラグインは、API アセンブリを参照するクラス ライブラリ DLL を作成することによって作成されます。次に、API アセンブリの基本コマンド クラスから継承することにより、コマンド クラスが作成されます。次に、アプリケーションはプラグイン DLL ファイルを参照するように設定され、ユーザーが要求したときにカスタム コマンド クラスを実際に起動する役割も果たします。

ただし、現在、 を使用して一部のコード生成を自動化しようとしSystem.CodeDOMており、API アセンブリの型に基づいて新しいクラス型を自動的に生成する単純なコンソール アプリケーションを作成したいと考えています。

それでも、アプリケーションを実行しようとすると、次の例外が発生します。

System.BadImageFormatException は処理されませんでした メッセージ: ファイルまたはアセンブリ 'RevitAPI、Version=2011.0.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。

通常、プラグイン アセンブリのターゲット フレームワークを 3.5 に設定する必要があります。しかし、コンソール アプリケーションのターゲット フレームワークを 2.0 に設定すると、上記のエラーが解消されることがわかりました。ただし、私のコンソール アプリケーションは、ターゲット フレームワークが 3.5 に設定されている私の他のクラス ライブラリを既に参照しています。そして、2.0 フレームワークを中心にそれらを書き直したくないのです。

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

plugins - Revit API を使用した Advanced Transfer Project Standards 機能

複数の Revit プロジェクト間でプロジェクト標準を転送するために、Revit API を使用して Revit プラグインを作成したいと考えています。これは Revit API を使用して可能ですか?

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

revit - Revit ファミリとフィルタ要素

選択した要素をファミリ別にフィルタリングする必要があります。

木材梁ファミリがあり、木材ファミリの一部である選択した要素のみを修正する必要があります。オンラインで調べましたが、その方法を示すものは何も見つかりません。リビット初心者です。