ラベル 躯体数量 の投稿を表示しています。 すべての投稿を表示
ラベル 躯体数量 の投稿を表示しています。 すべての投稿を表示

2018年3月11日日曜日

ダイナモ白熱教室(12)-任意の躯体数量を計測する

ジオメトリの解析にはダイナモ

躯体モデルを作成したら、だれでも躯体数量が、しかも指定した範囲の躯体数量が計測したいと思うはずです。ダイナモを使って任意の範囲の躯体数量を算出してみましょう。作戦としては、インプレイスファミリで計測したいエリアをモデリングし、その計測エリア内にある躯体の数量を算出します。
計測範囲はインプレイスで自由な範囲を作成
ダイナモはジオメトリの解析には抜群の効果を発揮します。ファミリ単位ではなく、任意の位置で躯体を切断してその体積を図ってみましょう。
ダイナモを使って任意の位置で切断して計測
なお計測範囲はどのような形状でも構いませんし、梁や床を分割する必要も一切ありません。結合すら必要ありません。


ダイナモを起動

ダイナモを起動します。

  1. [管理]タブ>[ビジュアルプログラミング]パネル>[Dynamo]
  2. ファイルから新規作成を選択
    ダイナモを起動

計測範囲を選択するノードを追加する

  1. [Revit]>[Selection]>[Select Model Element]
  2. ノードをダブルクリックして名前を「計測範囲を選択」とし適用
  3. [選択]をクリックし、計測範囲の要素を選択

計測対象躯体を選択するノードを追加する

    いろいろな選択方法がありますが、今回はカテゴリを指定して選択してみます。なお計測する範囲はここに掲げていないカテゴリ(例えば一般モデルなど)で作成していることが前提です。
    1. [Revit]>[Selection]>[Categories]を4つ追加し、それぞれ以下のカテゴリを選択する。
      • 構造フレーム
      • 構造柱
      • 構造基礎
      • 床
      • 壁
    2. [Core]>[List]>[List.Create]を追加し、[+]をクリックし、item0~4をつくり、1のカテゴリノードと接続。
    3. [Revit]>[Selection]>[All Elements of Category]を追加し、List.Createと接続する。
      躯体を選択する部分
    これで、指定したカテゴリに属するすべての要素を選択することができます。

    ジオメトリを取り出す

    選択した要素(Element)から幾何学形状(ジオメトリ)を抽出します。庫の取り出しには「Element.Geometry]ノードを使います。

    1. 検索窓に[element.geometry]と入力し、Geometryノードを二つ配置
    2. それぞれ[All Elements of Category]と[計測範囲を選択]に接続
    3. [Watch]ノードを追加し[All Elements of Category]に接続し、[Watch]を見ると、リストが3層になっていることがわかります。
      リストが3層になっている
    4. リストを単層にするため、[Flatten]ノードをElement.GeometryとWatchの間に挿入します。
    5. リストが1層になったことを確認します。Flatten-Watchの接続はいったん外しておきます。
      リストが単純化された

    どのような形状が取り出されたか確認します。

    1. CTRL+Bで背景のナビゲーションを有効にします。
    2. 右クリックして[全体表示]
    3. マウスホイールを開店して拡大縮小、あるいは画面右端のコントロールを利用して適切な大きさで表示します。
    4. CTRL+Bでノードビューに切り替えます
      背景を調節する


    交差を取り出す

    躯体と計測範囲のSOLIDの交差(Intersection)を取り出します。

    1. [Geometry]>[Geometry]>[IntersectAll]を追加
    2. Flattenをgeometryに、計測範囲のElement.Geometryをotheresに接続。
    3. どのような形状が取り出されたかを確認するため、2つの[Element.Geometry]と[Flatten]ノードを右クリックし、[プレビュー]を選択してチェックを外します。
      計測する範囲の形状が抽出できました。
    4. Geometry.IntersectAllノードをダブルクリックして、名前を「躯体ボリューム」とします。
    5. [躯体ボリューム]のGeometry[]にWatchを接続します。
    6. リストが再び階層化されているので、もう一つFlattenを追加(既存をCTRL+C&Vでもよい)します。
    7. Watchはいったん外し、[躯体ボリューム]のGeometry[]にFlattenを接続
    8. 結果として、SolidとLineのジオメトリがあrことを確認してください。確認出来たらいったんWatchは外しておきます。
      SolidとLineが抽出されました

    Solidだけを取り出す

    体積を求めたいので必要なのはSolidだけです。このリストの中からSolidだけを取り出します。リスト処理のノード[RemoveIfNot]を使って、対象となる要素タイプ以外を削除してしまいます。

    1. [BuiltIn]>[RemoveIfNot]を追加
    2. [Input]>[String]を追加し、値を「Solid」とする。
    3. 躯体ボリュームに接続したFlattenをlistに、StringをTypeに接続
    4. Var[]...[]にWatchを接続し、結果を確認する
    5. 躯体ボリュームとFlattenを右クリックして、プレビューのチェックを外す。
      Solidのみ取り出す

    Solidを結合する


    躯体のモデルはひょっとしたら結合されていない部分があるかもしれません。そこで、抽出したSolidを結合して、ダブりのない状態にします。

    1. [Geometry]>[Solid]>[ByUnion]ノードを追加し、[RemoveIfNot]に接続。
    2. [RemoveIfNot]を右クリックしてプレビューのチェックを外します。
    3. Watchを追加して単一のSolidが取り出されていることを確認します。
      単一のSolidとなった

    体積を計測する

    いよいよ最後に体積を計測します。単位を㎥にして表示します。
    1. [Geometry]>[Solid]>[Volume]を追加し、Solid.Unionに接続。
    2. [Core]>[Units]>[Convert Between Units]を追加し接続
    3. [容積]、[立方ミリメートル]、[立方メートル]を選択。
    4. Watchを端部に接続
    5. 体積を確認します。
      体積を計測
    これで躯体ボリュームを抽出できました。Revitで計測範囲を変更すれば体積も変更されます。

    2017年4月15日土曜日

    躯体ボリュームを拾う(2)

    金額を設定する

    集計表に単価を設定して、合計金額を求めてみます。まずマテリアルに単価を設定します。

    1. 管理タブ>設定パネル>マテリアル
    2. 目的のマテリアルを選択し、コストに単価を設定
      マテリアルに単価を設定

    集計表の修正

    前回作成した集計表を開きます。

    1. プロパティウィンドゥでフィールドプロパティの編集ボタンをクリック
    2. 「マテリアル:単価」を選択し追加
    3.  書式タブで「マテリアル:単価」を選択し、見出しを「単価(\/㎥)」位置合わせを「右」に設定する。また、形式ボタンを押して書式を設定。

    書式タブ
    集計表は次のようになります。
    集計表

    計算フィールドの追加

    「体積×単価」の計算フィールドを追加します。

    1. フィールドプロパティの編集ボタンをクリック
    2. fxをクリックし計算値として名前は「金額」、タイプに「通貨」、計算式に「マテリアル: 体積 * マテリアル: 価格」と入力しOK
      計算式のフィールド

    すると、単位が一致しません、という警告が表示されます。
    単位が一致しません
    マテリアル:体積は㎥、価格は¥なので答えが ㎥×\ となり、通貨の単位と異なります。この単位の違いを解決する方法は簡単で、式の一番後ろに「/1」を加え、1で割るといいのです。

    1. 計算式を「マテリアル: 体積 * マテリアル: 価格 /1」と入力しOK
    2. もう一度計算式の編集ボタンを押すと、「マテリアル: 体積 * マテリアル: 価格 / 1 m³」となって、自動的に単位 m³ が追加されていることを確認します。

    単位㎥は自動的に追加される

    1. 書式タブで、「合計値を計算」を選択、その他の設定を以下のようにする。

    書式タブ
    集計表は以下のようになります。
    金額を計算した集計表
    強度(単価)の異なるコンクリートを使用する場合は、それぞれのマテリアルを準備しておいて、ファミリに割り当てればマテリアルごとの合計も求めらます。

    打設日ごとに色分けする

    Dateの値に応じて部材を色分けするにはフィルタを使います。

    フィルタの作成


    1. 表示>グラフィックス>フィルタ
    2. フィルタグループの下部左端の「新規作成」をクリックし、名前を「Date_20170401」とする。
    3. カテゴリグループで、一般モデル、壁、床、構造フレーム、構造基礎、構造柱に✔
    4. フィルタ規則グループで、フィルタを「Date」、「等しい」、「20170401」
      フィルタの作成
    5. 適用

    以上の手順を繰り返して、各Dateの値ごとの規則によるフィルタを作成する。

    ビューへ適用

    3Dビューにフィルタを適用して色分けします。

    1. 任意の3Dビューを開く
    2. 表示タブ>設定>表示/グラフィックス
    3. 追加ボタンをクリックし、上記で作成したフィルタをすべて選択し、OK
    4. それぞれのフィルタのサーフェスと切断面に色と塗潰しパターンを設定しOK
      フィルタの設定

    プロパティに応じて3D表示を色分けすることができました。
    打設日で色分けした躯体
    表示/グラフィックスダイアログのフィルタタブで、表示チェックボックスをOFFにすれば、
    表示のチェックをはずしてフィルタに引っかかる要素を非表示にする
    Dateプロパティが設定されていない躯体を素早く見つけることができます。
    Dateプロパティを入力していない要素を発見!



    2017年4月8日土曜日

    躯体ボリュームを拾う(1)

    コンクリート立米数を拾うには

    作成した躯体モデルを使って、コンクリートの立米数を集計表を使って拾ってみましょう。さらには打設した日付ごと、かつカテゴリごとに分けて集計してみましょう。

    モデリング上の注意事項

    床はスパンに分けて作成する

    モデリングは普通に躯体モデルを作成すればいいのですが、床は要注意です。床を複数のスパンにまたがって一枚で作成してしまうと、スパンごとに拾うことができません。床はグリッドで分割して作成します。

    躯体は結合する

    躯体が結合されない状態で重なって作成されていると、立米数は重なっている部分はダブルで集計されます。結合していればダブらずに拾うことができます。

    打設日を表す共有パラメータを決める

    打設日を入力するパラメータを決めます。打設日はインスタンスパラメータなので、コメントなどのパラメータで代用することができますが、できれば共有パラメータを準備したほうがタグにも集計表にも表示できて便利です。

    マテリアル

    コンクリートを表現するマテリアルを作成し、各要素に割り当てます。もしコンクリート強度ごとに拾いたいという場合は、それぞれの強度を表す複数のコンクリート用マテリアルを準備しておきます。

    実際に拾ってみる

    下の図のような簡単な躯体を使って、まずマテリアルごとに数量を拾ってみましょう。
    この躯体の数量を拾ってみます
    (1) 表示タブ>作成パネル>集計▼>部材拾い出し
    (2) カテゴリで「マルチカテゴリ」、名前に「コンクリート立米数」
    新しい数量積算
    (3) フィールドタブで「マテリアル:名前」「マテリアル:体積」を選択して集計済みのフィールドに追加
    フィールド
    (4) 並べ替え/グループ化タブで並べ替え方法に「マテリアル:名前」、「各インスタンスの内訳」のチェックをはずす。
    並べ替え/グループ化
    (5) 書式タブで以下のように設定しOK
    書式タブ
    まずは以下のようにマテリアルごとの集計表ができます。
    簡単な集計表ができる

    カテゴリごとにまとめる

    今度はこれをカテゴリごとにまとめます。
    (1) 集計表のインスタンスパラメータ「フィールド」の編集をクリック
    (2) フィールド「カテゴリ」を追加し一番上に
    フィールド
    (3) フィルタタブ以下のように設定し「RC」のマテリアルだけが集計表に表示されるようにする。
    フィルタ
    (4) 並べ替え/グループ化の設定---カテゴリごとに集計するように設定する
    並べ替え/グループ化
    (5) OK
    カテゴリごとに集計
    これでマテリアル「RC」だけが集計されます。

    打設日ごとに集計するには

    集計の対象とするカテゴリは上の表から

    • 一般モデル
    • 壁
    • 床
    • 構造柱
    • 構造フレーム
    • 構造基礎

    の5つのカテゴリです。これらのカテゴリに対して、打設日を表すインスタンスパラメータ「打設日」を共有パラメータとして追加します。

    共有パラメータの作成


    1. 管理タブ>設定パネル>共有パラメータで[作成]をクリックし、適切なフォルダに適切な名前で共有パラメータファイルを作成
    2. グループの[新規作成]で「施工」というグループを作成
    3. パラメータの[新規作成]で「Date」という名前のパラメータを「整数」で作成。
      Dateプロパティを整数として作成
    4. [OK]でダイアログボックスを閉じる

    パラメータをプロジェクトに追加する

    上ではパラメータを定義しただけですので、これをプロジェクトで使えるように、プロジェクトに追加します。

    1. 管理タブ>設定パネル>プロジェクトパラメータで、[追加]をクリック
    2. パラメータプロパティダイアログボックスで、パラメータタイプの共有パラメータを選択し、[選択]ボタンで作成した「Date」を選択しOK
      共有パラメータの追加
    3. カテゴリで、一般モデル、壁、床、構造フレーム、構造基礎、構造柱に✔
      パラメータDateを設定するカテゴリを選択
    4. パラメータデータでインスタンスを選択
      インスタンスパラメータとして追加
    5. OK

    打設日の設定

    打設日をモデル要素に設定します。設定方法は
    1. 複数の要素を選択
    2. 修正|複数選択タブ>選択パネル>フィルタ
    3. 対象とするカテゴリだけにチェックしてOK
      対象とするカテゴリだけにチェックを入れる
    4. プロパティウィンドゥでDateに「20170401」などの日付を表す数字を入力
      打設日をインスタンスパラメータに設定
    これを繰り返すだけです。

    集計表の修正

    集計表を修正して打設日ごとの数量を拾ってみます。

    1. 集計表を開いて、プロパティウィンドゥの[フィールド]の編集ボタンをおす。
      フィールドの編集をクリック
    2. フィールドタブで「Date」を追加し一番上へ移動
      Dateを追加して一番上へ
    3. 並べ替え/グループタブで以下のように設定
      並べ替え/グループ化
    4. 書式タブでDateを選択し、非表示のフィールドに✔
      書式
    5. OK
    すると次のような集計表ができます。
    集計表
    集計表の体裁と各設定の関係を下の図に示します。
    見出し・フッタの設定の関係
    集計表の仕組みは最初ちょっと難解なところがあると思いますが、慣れてしまえはこれほど便利なものはありません。
    次回は金額を計算する集計表や、フィルタを使った色分けなどについて説明します。
    打設日ごとに色分けした躯体


    価格を計算した集計表