2019年2月24日日曜日

手摺子ファミリ(2)

手摺柱

今回は残りの部材を作成して手摺を完成させます。残りのファミリは標準添付の建築テンプレートにも入っているものを利用して作成します。
手摺ファミリの構成

作り方:手摺子 - 正方形:150mm

  1. プロジェクトブラウザで、[ファミリ]>[手摺]>[手摺子 - 正方形]の一つのノードを[右クリック]>[複製]
  2. 名前を150mmとし、ダブルクリックしタイププロパティダイアログボックスを開く。
  3. 下の図のように設定する。
    幅を150
  4. OK。

作り方:上部手摺


  1. プロジェクトブラウザで、[ファミリ]>[プロファイル]>[手摺-矩形]の一つのノードを[右クリック]>[複製]
  2. 名前を150mmx40mmとし、ダブルクリックしタイププロパティダイアログボックスを開く。
  3. 下の図のように設定する。
    高さと幅を設定
  4. OK
  5. プロジェクトブラウザで、[ファミリ]>[上部手摺のタイプ]の一つのノードを[右クリック]>[複製]
  6. 名前を木製上部手摺とし、ダブルクリックしタイププロパティダイアログボックスを開く。
  7. 下の図のように設定する。
    上部手摺のタイプ
  8. OK

作り方:手摺

手摺の寸法を確認します。
寸法
まず木筋交パネル(前回作成)の幅を1050に設定します。
  1. プロジェクトブラウザで、[ファミリ]>[手摺]>[木筋交パネル]の一つのノードを[右クリック]>[名前変更]
  2. W1050とし、ダブルクリックしタイププロパティダイアログボックスを開く。
  3. 下の図のように設定する。
    木筋交パネル
次に手摺タイプを作成します。
  1. プロジェクトブラウザで、[ファミリ]>[手摺]>[手摺]の一つのノードを[右クリック]>[名前変更]
  2. 木製筋交手摺とし、ダブルクリックしタイププロパティダイアログボックスを開く。
  3. 上部手摺を設定。
    上部手摺を設定
  4. 手摺横桟構成の編集をクリックし下の図のように設定しOK。
    手摺横桟構成
  5. 手摺子構成の編集をクリック。
  6. 主パターンと手摺柱を下の図のように設定。
    手摺子構成
  7. OK

使ってみる

手摺のタイプができたので、使ってみます。手摺子間の距離は1200で固定されているので、スケッチするときも1200の倍数の長さを持つようにします。
長さが1200の倍数になるようにする
適切なマテリアルを設定しておけば、きれいに納まった手摺を作成することができます。
完成した手摺
パネル型の手摺を作成する場合は、個々の寸法がどうなっているかよく計画を立ててから作成しましょう。




2019年2月16日土曜日

手摺子ファミリ(1)

パネル型手摺子

手摺子のファミリを作成してみます。今回は下の図のようなログハウス風の手摺子を作ってみましょう。
✖の手摺子ファミリがポイント
✖の部分はパネル型の手摺子ファミリです。この筋交のパネルを作りかたを説明します。

手順

  1. [ファイル]>[新規作成]>[ファミリ]で手すり子 - パネル.rftを選択して開く。
  2. プロジェクトブラウザで[立面図(立面図 1)]>[左]が開いていることを確認する。
  3. [作成]タブ>[基準面]パネル>[参照線]
  4. 作業面ダイアログボックスで[名前]を選択し、参照面:中心(左/右)を選択してOK。
  5. [描画]パネルの[/(線)]を選択し、図のように参照線を作成する。
    参照線を作成
  6. [注釈]タブ>[寸法]パネル>[平行寸法]で図のように参照面参照線の端点に寸法を作成。
    参照面→参照線の端点の順番に選択するとよい。
  7. 参照線を選択し、端部を参照面の交点にドラッグして合わせる。このときキーボードから[SI]と入力することで強制的に交点にスナップさせることができる。
  8. 寸法の値が0になるので、各寸法を選択して鍵のアイコンをクリックしてロックする。
    値が0になった寸法を鍵アイコンでロック
  9. 5~8の手順を繰り返して、もう一つの対角に参照線を作成して、参照面の交点にロックする。
    もう一つの対角にも参照線を作成
  10. [作成]タブ>[フォーム]パネル>[押し出し]
  11. [描画]パネル>[(選択)]
  12. オプションバーでオフセットの値を50に設定。
  13. 対角線の一つの左右にスケッチラインを作成。
  14. オフセットを0にし、ロックをチェックし、平行四辺形の外枠を選択してロック。
    スケッチラインを作成
  15. [修正]パネル>[コーナーへトリム/延長]で下の図のように成形する。
    外形線を作成
  16. [平行寸法]で参照線とスケッチラインに寸法を作成し、均等拘束し、スケッチラインに寸法を作成する。
  17. 寸法を作成
    スケッチラインに作成した寸法を選択し[寸法にラベルを付ける]パネルの[パラメータを作成]ボタンで見付というパラメータを作成して割り当てる。
    ラベル「見付」を指定
  18. [モード]パネル>[✔(編集モードを終了)]
  19. 作成したフォームを選択し、プロパティウインドウのマテリアルの関連付けボタンを押して、新しいパラメータマテリアル_筋交を作成して関連付ける。
    マテリアルをパラメータ化する
  20. 同じ工程を繰り返してもう一つの筋交も作成する。
    筋交を作成
  21. [平面図]>[参照レベル]を開く。
  22. [作成]タブ>[基準面]パネル>[参照面]
  23. [描画]パネル>[(選択)]を選択し、オプションバーのオフセットの値を50に設定。
  24. 中心線の左右に参照面を作成し、寸法を作成。
    参照面を追加して寸法を作成
  25. 作成した寸法を選択し、[寸法にラベルを付ける]パネルの[パラメータを作成]ボタンで厚さというパラメータを作成して割り当てる。
  26. 作成したフォームを選択し、形状ハンドルをドラッグして下の図のように参照面にロックする。
    フォームの厚さを参照面にロックする
  27. [プロパティ]パネル>[ファミリタイプ]
  28. マテリアル_筋交の<カテゴリ別>の[...]をクリックし、マテリアルブラウザを開く。
  29. ライブラリパネルを表示する。
    ライブラリパネルを表示
  30. [AECマテリアル]>[木材]>[サクラ材]を選択し、[↑]をクリックする。
    サクラ材を追加
  31. プロジェクトマテリアルでサクラ材を選択してOK。
  32. OK。
  33. 手摺子_筋交.rfaとして保存。

動作テスト

以上で筋交の手摺子ファミリが完成しました。挙動をチェックしてみます。
  1. [立面図]>[左]を開く。
  2. [プロパティ]パネル>[ファミリタイプ]
  3. 勾配角度の値を15°に変更し、[適用]。正しく変形していることを確認する。
    勾配角度を15°に
  4. 幅の値を1200に転向し[適用]。正しく変形していることを確認する。
    幅を変更してみる
  5. 3Dビューを開き、[プロパティ]パネル>[ファミリタイプ]。
  6. 厚さを30、見付を120に変更してOK。挙動を確認する。
    厚さと見付を確認
これで筋交部分の手摺は完成です。

2019年2月9日土曜日

ダイナモ白熱教室~床の躯体天端レベルをタグに表示する

Dynamoでパラメータを操作する

躯体天端レベルをタグに表示するにはどうすればよいでしょうか?残念ながら床タグでは床レベルのパラメータはありませんし、ましてや躯体の天端レベルというパラメータはありません。「レベルからのオフセット」すらタグに表示できないのです。
躯体天端レベルをタグに表示するには?
「上部躯体の高さ」というパラメータが使用可能ですが、惜しいかなこの値は高さ(Z)の座標値で、レベルからの相対距離ではありません。
床の「上部躯体の高さ」はzの値でレベルからの相対距離ではない
APIを使えはもちろん可能ですが、この「床の躯体天端レベルをタグに表示する」というお題をダイナモで解いてみます。

共有パラメータの準備

タグに値を表示するのですから、まずは床に躯体天端レベルの値を表示するインスタンスパラメータを共有パラメータとして作成します。
共有パラメータを作成し、床のインスタンスパラメータとして設定する。
ここでは「スラブレベル」という共有パラメータを作成し、床のインスタンスプロパティとして設定しました。

Dynamo:構造の床を集める

まず、すべての床を集めます。ただし、床のインスタンスプロパティ「構造」にチェックが入っているものだけです。そうでないと「上部躯体の高さ」の値が「なし」になってしまうからです。


  1. [Revit]>[Selection]>[Categories]を追加し「床」を選択。
  2. [Revit]>[Selection]>[All Elements of Category]を追加し、1と接続。
  3. [Revit]>[Element]>[GetParameterValurByName]を追加し、2のElementsをElementに接続。
  4. [Input]>[Basic]>[String]を追加し「構造」と入力、3のParameterNameに接続。
  5. [Math]>[Operaters]>[==]を追加し、Xに4のvar[]..[]を接続。
  6. [Input]>[Basic]>[Number]を追加し、値を1とし、==のyに接続。(これによりパラメータの値の1/0をTrue/Falseに変換する)
  7. [List]>[Modify]>[FilterByBoolMask]を追加し、==のvar[]..[]とmaskを接続。
  8. 7のlistと2のElementsを接続。
これでFilterByBoolMaskの[in]に、パラメータ「構造」にチェックが入った床のインスタンスを集めることができました。

Dynamo:スラブレベルを計算する

スラブレベルを「上部躯体の高さ-床の参照レベルの高さ」で計算します。床のレベルの高さはまず床の参照レベルをパラメータでもとめ、さらにレベルの高さパラメータの値を取得します。
  1. [Revit]>[Element]>[GetParameterValurByName]を追加し、[in]と[element]を接続。
  2. [Input]>[Basic]>[String]を追加し「レベル」と入力、2のParameterNameに接続。
  3. [Revit]>[Element]>[GetParameterValurByName]を追加し、1のvar[]..[]と接続。
  4. [Input]>[Basic]>[String]を追加し「高さ」と入力、3のParameterNameに接続。これで床の参照レベルの高さを取得できました。
  5. [Revit]>[Element]>[GetParameterValurByName]を追加し、[in]と[element]を接続。
  6. [Input]>[Basic]>[String]を追加し「上部躯体の高さ」と入力、5のParameterNameに接続。
  7. [Math]>[Operators]>[-]を追加し、[x]には5(上部躯体の高さ)のvar[]..[]、[y]には3(レベルの高さ)を接続
ここでWatchノードなどで値を確認してください。

Dynamo:スラブレベルの値を床にセットする

最後に、求めたスラブレベルを床のインスタンスプロパティ「スラブレベル」にセットします。
スラブレベルの値を床にセットする
  1. [Revit]>[Element]>[SetParameterValurByName]を追加し、
    1. elementsを[List.FilterByBoolMask]の[in]へ接続。
    2. valueを[-]のvar[]..[]に接続
  2. [Input]>[Basic]>[String]を追加し「スラブレベル」と入力し、1のParameterNameに接続。
以上で床にスラブ(躯体)レベルを設定することができました。
スラブレベルの値が設定された
あとは、共有パラメータ「スラブレベル」を使った床タグを配置すればスラブレベルが表示されます。Dynamoを開いておけば、床の変更にリアルタイムに追随します。
モデルの変更にリアルタイムに追随する
躯体の天端なので、仕上があってもスラブレベルを表示します。
また、躯体境界よりも上にレイヤがあっても問題ありません。

仕上が入っても躯体レベルを表示する
このグラフはこちらからダウンロードできます

2019年2月3日日曜日

マス&面積チュートリアル(5)

準備

ここでは面積の集計表を作成します。前回からのファイルを続いて使用します。

集計表の作成


  1. [表示]タブ>[作成]パネル>[集計▼]>[集計表/数量]
  2. カテゴリでマスを展開してマス床を選択し、名前をマス床-用途別としてOK。
    集計表の作成
  3. 並べ替え/グループ化タブで以下のように設定。
    並べ替え/グループ化
  4. 書式タブで以下のように設定。
    • マス:タイプで非表示のフィールドに✔。
      書式 マス:タイプ
    • 床面積で位置合わせを右、合計を計算。
      書式 床面積
  5. OK
以下のような集計表が作成されます。
用途(タイプ)ごとの面積集計

住戸タイプの集計表

次にどのタイプの住戸がどのレベルに何戸あるかを集計します。


  1. [表示]タブ>[作成]パネル>[集計▼]>[集計表/数量]
  2. カテゴリでマスを展開してマス床を選択し、名前をマス床-コメント別としてOK。
    マス床-コメント別
  3. フィールドで以下の項目を追加
    • マス:タイプ
    • マス:コメント
    • レベル
    • 個数
  4. フィルタを以下のように設定
    フィルタの設定
  5. 並べ替え/グループ化を以下のように設定
    並べ替え/グループ化
  6. 書式で以下のように設定
    • マス:タイプ:非表示のフィールドを✔
    • マス:コメント:非表示のフィールドを✔
    • 個数:合計を計算
  7. OK。
    個数別

EXCELで分析する

データベースをつくる

EXCELのピボットテーブルを使ってクロス集計表を作って分析する方法もあります。本格的に行うにはODBCドライバをセットアップすればよりダイナミックにできるのですが、少々ハードルが高いので簡単にテキストファイルのデータベースで行ってみましょう。
  1. [表示]タブ>[作成]パネル>[集計▼]>[集計表/数量]
  2. カテゴリでマスを展開してマス床を選択し、名前をマス床-総合としてOK。
  3. フィールドタブで以下のフィールドを追加
    • マス:コメント
    • マス:タイプ
    • レベル
    • 個数
    • 床面積
  4. 書式タブで床面積の形式で単位記号を無しにします。
    面積の単位記号㎡が表示されていると、EXCELで数字として認識されない
  5. 外観タブで以下のように設定
    • データの前に空白行を入れるをオフ
    • タイトルを表示をオフ
    • 見出しを表示をオン
      外観の設定が意外と重要です。
  6. OK。
    出来上がった集計表
  7. [ファイル]>[書出し]>[レポート]>[集計]
  8. 適切なフォルダにマス床-総合.txtとして保存。このファイルがデータベースとなりますので、ファイルの場所を記録しておきます。
  9. 集計表を書き出しダイアログボックスでそのままOK。

EXCELで分析

EXCELのピボットテーブルを使ってデータをクロス集計してみます。

  1. EXCELで新規のブックを作成して名前を付けて保存します。
  2. [データ]タブ>[データの取得と変換]パネル>[テキストまたはCSVから]
    データタブ
  3. Revitから出力したテキストファイルを指定すると、以下のようなダイアログボックスが開く。
    テキストファイルを読み込む
  4. [読み込み]をクリック。
  5. シート名をマス床とする。
  6. [挿入]タブ>[ピボットテーブル]でOK。
  7. [ピボットテーブルのフィールド]で以下の操作を行う
    • マス:タイプに✔
    • レベルに✔
    • 床面積に✔
    • 行フィールドのマス:タイプを列へドラッグドロップ
      ピボットテーブルの設定
  8. すると次のような表ができる。
    ピボットテーブル
  9. 列のタイトル(例えば専用のセル)を選択し、任意の位置にドラッグドロップする。
    列の並び順を調整
  10. 行ラベルの▼をクリックし降順を選択
    完成したピボットテーブル
このような手順でクロス集計表が完成します。

住戸タイプ別ピボットテーブル


  1. マス床シートをアクティブにし、表の内部の任意の点をクリック。
  2. [挿入]タブ>[ピボットテーブル]でOK。
  3. [ピボットテーブルのフィールド]で以下の操作を行う
    • マス:タイプに✔
    • マス:コメントに✔
    • レベルに✔
    • 個数に✔
    • マス:タイプをフィルタに移動
    • マス:コメントを列に移動
      ピボットテーブルの設定
  4. B1セルの▼をクリックし、専用を選択しOK
    フィルタを設定
  5. 行ラベルの▼をクリックし降順

データベースの更新

Revitでマス床の情報を更新した場合は、再度同じ名前でテキストファイルを上書きします。

Revitの操作

  1. 一番右側の3LDKマスとバルコニーマスを選択し、[マス床]で5FLのチェックを解除します。
  2. 集計表-マス床-総合を開きます。
  3. [ファイル]>[書出し]>[レポート]>[集計]
  4. 前回と全く同じ名前でテキストファイルを上書きします。

EXCELの操作

  1. マス床シートをアクティブにし、表の内部をクリック。
  2. [データ]タブ>[クエリと接続]パネル>[すべて更新]
    すべて更新
  3. シートを切り替えてピボットテーブルが更新されていることを確認します。



    データベースを更新するとピボットテーブルも更新される



    ここに示された方法は、Revitから出力されたテキストファイルをデータベースとして、エクセルで分析を行う一つの例です。EXCELを用いればより多くの分析が可能になります。