ジオメトリの解析にはダイナモ
躯体モデルを作成したら、だれでも躯体数量が、しかも指定した範囲の躯体数量が計測したいと思うはずです。ダイナモを使って任意の範囲の躯体数量を算出してみましょう。作戦としては、インプレイスファミリで計測したいエリアをモデリングし、その計測エリア内にある躯体の数量を算出します。計測範囲はインプレイスで自由な範囲を作成 |
ダイナモを使って任意の位置で切断して計測 |
ダイナモを起動
ダイナモを起動します。計測範囲を選択するノードを追加する
- [Revit]>[Selection]>[Select Model Element]
- ノードをダブルクリックして名前を「計測範囲を選択」とし適用
- [選択]をクリックし、計測範囲の要素を選択
計測対象躯体を選択するノードを追加する
- [Revit]>[Selection]>[Categories]を4つ追加し、それぞれ以下のカテゴリを選択する。
- 構造フレーム
- 構造柱
- 構造基礎
- 床
- 壁
- [Core]>[List]>[List.Create]を追加し、[+]をクリックし、item0~4をつくり、1のカテゴリノードと接続。
- [Revit]>[Selection]>[All Elements of Category]を追加し、List.Createと接続する。
躯体を選択する部分
これで、指定したカテゴリに属するすべての要素を選択することができます。
ジオメトリを取り出す
選択した要素(Element)から幾何学形状(ジオメトリ)を抽出します。庫の取り出しには「Element.Geometry]ノードを使います。- 検索窓に[element.geometry]と入力し、Geometryノードを二つ配置
- それぞれ[All Elements of Category]と[計測範囲を選択]に接続
- [Watch]ノードを追加し[All Elements of Category]に接続し、[Watch]を見ると、リストが3層になっていることがわかります。
リストが3層になっている - リストを単層にするため、[Flatten]ノードをElement.GeometryとWatchの間に挿入します。
- リストが1層になったことを確認します。Flatten-Watchの接続はいったん外しておきます。
リストが単純化された
どのような形状が取り出されたか確認します。
- CTRL+Bで背景のナビゲーションを有効にします。
- 右クリックして[全体表示]
- マウスホイールを開店して拡大縮小、あるいは画面右端のコントロールを利用して適切な大きさで表示します。
- CTRL+Bでノードビューに切り替えます
背景を調節する
交差を取り出す
躯体と計測範囲のSOLIDの交差(Intersection)を取り出します。- [Geometry]>[Geometry]>[IntersectAll]を追加
- Flattenをgeometryに、計測範囲のElement.Geometryをotheresに接続。
- どのような形状が取り出されたかを確認するため、2つの[Element.Geometry]と[Flatten]ノードを右クリックし、[プレビュー]を選択してチェックを外します。
計測する範囲の形状が抽出できました。 - Geometry.IntersectAllノードをダブルクリックして、名前を「躯体ボリューム」とします。
- [躯体ボリューム]のGeometry[]にWatchを接続します。
- リストが再び階層化されているので、もう一つFlattenを追加(既存をCTRL+C&Vでもよい)します。
- Watchはいったん外し、[躯体ボリューム]のGeometry[]にFlattenを接続
- 結果として、SolidとLineのジオメトリがあrことを確認してください。確認出来たらいったんWatchは外しておきます。
SolidとLineが抽出されました
Solidだけを取り出す
体積を求めたいので必要なのはSolidだけです。このリストの中からSolidだけを取り出します。リスト処理のノード[RemoveIfNot]を使って、対象となる要素タイプ以外を削除してしまいます。- [BuiltIn]>[RemoveIfNot]を追加
- [Input]>[String]を追加し、値を「Solid」とする。
- 躯体ボリュームに接続したFlattenをlistに、StringをTypeに接続
- Var[]...[]にWatchを接続し、結果を確認する
- 躯体ボリュームとFlattenを右クリックして、プレビューのチェックを外す。
Solidのみ取り出す
Solidを結合する
躯体のモデルはひょっとしたら結合されていない部分があるかもしれません。そこで、抽出したSolidを結合して、ダブりのない状態にします。
- [Geometry]>[Solid]>[ByUnion]ノードを追加し、[RemoveIfNot]に接続。
- [RemoveIfNot]を右クリックしてプレビューのチェックを外します。
- Watchを追加して単一のSolidが取り出されていることを確認します。
単一のSolidとなった
体積を計測する
いよいよ最後に体積を計測します。単位を㎥にして表示します。