問題タブ [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 に答える
2855 参照

python-3.x - Python でアイテム ID のコレクションを作成する Revit API

そのため、入力文字列のリストを使用して、Revit API を使用してビューでそれらを分離しようとしています。ここまで来ましたが、ビュー内のすべての要素を取得し、入力 ID から作成された要素を削除するセットを作成しようとしているところに行き詰まっています。分離したい要素を除くすべての要素のセットになるようにこれを行っています。

このエラーを解決するための助けをいただければ幸いです。「ICollection [ElementId]が期待され、設定されました」というメッセージが表示されます。問題は、除外する Id のコレクションを作成する必要がある除外フィルターにあると推測していますが、その方法はわかりません。前もって感謝します。事前に助けてくれてありがとう!

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

c# - Autodesk Revit Architecture 2014 .NET API C# リンク内のインスタンス用のスペースを見つける

次のセットアップがあります。ファイル A は、壁、部屋、家具などを含む建築モデルです。ファイル B は、照明器具、ソケットなどを含む電気機械ファイルです。ファイル A はファイル B にリンクしているため、ファイル B はリンクされたファイル。

現在、特定の部屋内にある要素のリストを生成するアドインを Revit で作成しています。ここで、HOST ファイル (ファイル A) にある要素のこのリストを生成することはそれほど難しくありません。すべての要素を繰り返し、それが であるかどうかを確認し、その のプロパティをInstance取得します。.RoomInstance

ただし、リンクされたドキュメント (ファイル B) のインスタンスの場合、.Roomプロパティは常に null を返します。

誰かがこの問題の解決策にすでに遭遇したかどうかを期待していました。現在、私が目にする唯一の解決策は、リンクされたドキュメントをバインドして、グループに変換することです。しかし、1: API を介してリンクを BIND する可能性がわかりません。2: グループに変換すると、リンクされたドキュメントのすべての利点が失われます。

0 投票する
3 に答える
3542 参照

c# - C# から組み込みの Revit コマンドを実行する方法

計算された値を C# プログラム内から組み込みの Revit コマンドにフィードする方法があるかどうかを知りたいです。特定のビームの「最大スパン」) 私の C# プログラムを続行し、ビーム サイズを変更します)。C# 外部コマンドの実行後に Revit 組み込みコマンドを呼び出すことができるとのことですが、その後 C# プログラムに戻ることはできません。

別の例として、トリム/延長する要素を選択し、この要素に延長する「ジョイスト」ビームをコードで把握させたいと考えています。私のプログラムは、拡張フィルタリング (「リファレンス レベル」、「ワークセット」、「コメント」、「マーク」パラメーターなど) を実行してから、組み込み関数を実行し、拡張する要素を提供してから、私のビームのそれぞれ。

私はインターネット検索と Revit SDK サンプルを試しましたが、明らかにこれを使用しているものはありませんでした (ただし、調べるべき csproj がたくさんあります)。

C# プログラムと Revit の組み込みコマンドの間を行き来できないことを確認できる人はいますか?

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

c# - Revit の参照面またはグリッドのジオメトリ情報を取得する秘訣はありますか?

仮想の「トリム/延長」平面として使用する 2 つの端点を見つけるために、さまざまな Revit カテゴリの要素を使用するコードに取り組んでいます。私はこれをディテールラインと構造フレーミングに使用しています......

ただし、グリッドと参照面に同様の方法を使用すると、Revit はエラーで応答します(通常、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」)。「Snoop」を調べましたが、「Plane」などのタブ内にあるリストされた値に到達する方法が明らかではないようです。同様の情報にアクセスする方法を知っている人はいますか (グリッドまたは参照面上の任意の 2 点など)? 現在、抽出したポイントをバイパスして使用しています....

...しかし、使用可能なポイントを直接見つける方がはるかに優れています。

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

c# - Revit C# API 名前の変更またはファミリ内のパラメータの追加

集計のために一連のモデル要素を関連付けるために使用するパラメータを追加するために、いくつかの Revit 梁および柱ファミリを修正しました。上司から、そのパラメーターの名前を変更するように依頼されました (彼が最初に提案した名前から)。

このパラメータはインスタンス パラメータであり、共有パラメータではないことに注意してください。

ここで、プログラムで 2 つのことを行いたいと考えています。最初に、そのパラメーターが新しい名前に使用されるたびに名前を変更したいと考えています。次に、そのパラメータ(新しい名前)が他の梁/柱ファミリで定義されていない場合は、これらのファミリに追加したいと思います。

次のようないくつかの方法をオンラインで調べました。

これにより、プロジェクトで使用可能な共有パラメータのリストが返されます。

FamilyManager についても調査しましたが、十分に文書化されていません。私は試した:

doc.FamilyManager.RenameParameter(FamilyParameter ***** , "Label Group") ですが、FamilyManager オプションは十分に文書化されていません (リストされている「FamilyParameter」が「.rfa」内で定義されたパラメーターと一致するかどうかさえわかりません)ファイル、または完全に別のもの)。ElementName.Parameters に関連付けられたパラメーターを FamilyParameter *******として配置しようとしましたが、Visual Studio は間違った型を表示し、「ファミリー パラメーターとして」追加しようとすると、「パラメーターを暗黙的に FamilyParameter に変換できません」と表示されます。

すでにプロジェクトにあるファミリのパラメータを追加または名前変更する方法について、誰かが私に指針を提供できますか?