2018年9月30日日曜日

踊場の蹴上

スケッチで階段を作成する

コンポーネント階段では踊り場に蹴上を作成することはできませんが、スケッチの機能を使えば可能です。数バージョン前まではスケッチ式が基本だったのですが、今ではコンポーネント式に置き換えられてしまったので、あまり使っていない人もいるかもしれませんね。
踊場に蹴上を作成するには?

階段の作成


  1. プロジェクトを新規作成します。ここでは「建築テンプレート」を使った例を示します。
  2. [建築]タブ>[階段]パネル>[階段]
  3. プロパティウィンドゥで[現場打ち階段:コンクリート]を選択。
  4. プロパティウィンドゥで[蹴上数]を20にし、[適用]。[現在の蹴上寸法]の値を確認。
  5. 任意の点をクリックし、9段作成してクリック。
    9段作成
  6. [修正]を選択し、作成した階段経路を選択し、[ツール]パネル>[変換]。警告が表示されるが[閉じる]。
    コンポーネントからスケッチに変換する
  7. [ツール]パネル>[スケッチを編集]
  8. [描画]パネル>[蹴上]を選択し、コーナーから100mm離して45度で蹴上線(10段め)を描画。
  9. [修正]パネル>[複数要素をトリム/延長]で、作成した斜めの蹴上線を選択し、境界線(緑)と階段パス(青)を延長。
    境界線と階段経路を延長
  10. [描画]パネルの[境界][蹴上][経路]を使って、下の図のように11段目の蹴上線を作成する。
    境界・蹴上・経路の順で書くとうまくいきますよ。
  11. [モード]パネル>[✔(編集モードを終了)]
  12. [コンポーネント]パネル>[踏み面]を選択し、残りの階段経路を作成。
    残りの経路を作成
  13. [モード]パネル>[✔(編集モードを終了)]
3Dビューで確認すると下の図のようになります。
踊り場に蹴上を作成

手摺は?

手摺を表示すると下の図のようになっています。これは青で示す部分が階段経路なので、その部分の最上段と最下段を結ぼうとするのでこのような結果になっています。
青い部分は「階段経路」

改善するには手摺の経路を適切な位置で切断します。
  1. 手摺を選択し、[モード]パネル>[パスを編集]
  2. [修正]パネル>[要素を分割]で、手摺を分割。
    手摺のスケッチラインを分割する
  3. 切断した右側の部分を選択し、オプションバーの[勾配]で「水平」を選択。
    セグメントの勾配を設定
  4. [モード]パネル>[✔(編集モードを終了)]
3Dビューで確認します。
改善された手摺



踊り場の調整

上記手段と同様の方法で、斜めの蹴上なしで踊り場に1段だけ蹴上を作成してみます。
スケッチは下の図のようになります。
踊り場に1段だけ蹴上がある

これを3Dビューで確認すると、踊り場と経路の取り合いがちょっと変です。Revitにしてみれば「どうモデリングすればいいのかわかりません。」といったところでしょう。
階段経路と踊り場がちょっと変ですね・・・

踊り場の厚さを変更して調整してみましょう。

  1. 階段を選択し、[タイプ編集]>[階段経路のタイプ]の[...]をクリック。
  2. [構造の奥行]の値を記録(ここでは150mm)し、[キャンセル]
  3. [踊り場のタイプ]の[...]をクリック。
  4. [複製]で任意の名前を設定。
  5. [一体式階段の厚さ]に「構造の奥行+蹴上の高さ」の値を設定。たとえば、高さが3500で20段だとすると「=150+3500/20」と入力すればよい。
  6. [OK]を2回
以上の手順で下の図のような階段になります。
踊り場の厚さを変更


これらの複雑な階段になると、手摺にしても階段にしてもどう納めるのかはもっと慎重な検討が必要になります。
Revitでモデルがおかしい、と思ったらそこは検討を要する場所なのです。

2018年9月24日月曜日

スラブのレベルごとに色分けする

パラメータの値で色分けするには?

躯体図や構造伏図でスラブをレベルごとに色分けできるとわかりやすいのですが、その方法としてはフィルタを使う方法があります。しかしながら、「レベル高さからのオフセット(2018)」の値を指定しなくてはいけないので、新しい値が発生するたびにフィルタを追加する必要があります。
ダイナモを使って、ダイナミックに色を更新してみましょう。
床のパラメータの値で色分けするには?

Dynamo:現在のビューに表示されている床を選択する




  1. [Revit]>[Views]>[View]>[All Elements In Active View]①
  2. [List]>[Modify]>[RemoveIfNot]②を追加し、①のelementsとlistを接続。
  3. [Input]>[Basic]>[String]を追加し、「Floor」と設定し、②のtypeに接続。
これで現在のビューに表示されている床をすべて選択できました。

Dynamo:パラメータの値を取り出す


  1. [Revit]>[Element]>[GetParameterValueByName]③を追加し、②のVar[]..[]とelementを接続。
  2. [Input]>[Basic]>[String]を追加し、「レベルからの高さオフセット」と設定し、③のparameterNameと接続。
パラメータの名前は各バージョンで異なりますので、床を選択してパラメータの名称を確認してください。

Dynamo:色範囲を設定する

取得した値を色に割り当てます。そのために割り当てる「色の範囲」を決めます。今回は一番低い値を赤、一番高い値を青色としてそのグラデーションを使ってパラメータの値を表現してみましょう。

  1. [Input]>[Basic]>[Number]①を二つ追加し、それぞれ「0」と[255]を入力。
  2. [Display]>[Color]>[ByARGB]②をつ追加。
  3. ①の255を②のrと接続し、g、bを①の0のノードと接続。これが赤です。
  4. [Display]>[Color]>[ByARGB]をもう一つ追加。
  5. bに255のノードを、他を0のノードと接続。これが青です。
  6. [List]>[Generate]>[List Create]を追加し、[+]をクリックしてItem1を追加。
  7. item0に赤、item1に青を接続
  8. [Display]>[Color Range]>[Color Range]を追加し、List Createのlistをcolorsに追加。
カラーが左から右に向かって赤から青へ色が変化していることを確認してください。エラーになりますが気にしないでください。

Dynamo:パラメータの値を0~1に再割り当てする


Color Rangeのvalueは0~1の値しか受け付けないので、取得したパラメータの値を0から1の値に再割り当てする必要があります。

  1. [Math]>[RemapRange]を追加し[Element.GetParameterValueByName]のvar[]..[]とnumberを接続。
  2. Input]>[Basic]>[Number]を二つ追加し、それぞれ「0」と[1]を入力。
  3. [RemapRang]のnewMinに0、newMaxに1を接続。
これで、パラメータの値が、0~1の値に再割り当てされます。

Dynamo:要素の色付け

現在のビューで要素を色付けしてみます。

  1. [Math.RemapRange]のlistを[Color Range]のvalue に接続。
  2. [Revit]>[Elements]>[Element]>[OverrideColorInView]を追加し、[Color Range]のcolorをcolorに接続。
  3. [List.RemoveIfNot]のvar[]..[]をelementに接続。
以上で、現在のビューにある床をレベルごとに色分けすることができました。

試しに、床の「レベルからのオフセット」の値を変更してみると・・・

色が自動的に再割り当てされることがわかります。これはもちろん3Dビュー(隠線処理・シェーディング・べた塗りのみ)でも有効です。

こちらのグラフを参考にしていろいろと試してみてください。

2018年9月15日土曜日

梁の座標

Dynamo!

梁の端点の座標をDynamoを使ってEXCELに出力してみましょう。サンプルのデータは標準で付属している[rst_advanced_sample_project.rvt]を使います。
この構造フレームの両端の座標を

このように出力することが目標です。Dynamoを起動して新規作成を選択しましょう。

構造フレームを選択する



  1. Revit > Selection > Categories で「構造フレーム」を選択。
  2. Revit > Selection > All Elements of Category を選択し1のCategoryとCategoryを結ぶ。

構造フレームの位置(カーブ)を抽出



  1. Revit > Elements > StructuralFraming > Location を追加し、All Elements of Category の ElementsとstructuralFramingを結ぶ。
  2. バックグラウンドに構造フレームの位置を示すカーブが描画される。

カーブの始点と終点の座標を求める


  1. Geometry > Curves > Curve > StartPoint EndPoint を追加。
  2. StructuralFraming.Location の Curveとそれぞれの curve を結ぶ。バックグラウンドのカーブ(直線)の端点に●が表示されます。

XYZの値に分解する

ExcelのセルにX,Y,Zの値をそれぞれ格納するために値を分解します。

  1. Geometry > Points > Point > X,Y,Z を2つずつ追加。
  2. Curve.StartPointとCurve.EndPointのPointをX,Y,ZのPointとつなぐ。

ファミリ名の取得

Excelに出力するときファミリ名とタイプ名があると便利です。

  1. Revit > Elemennts > Element > ElementType を追加し、All Elements of Category の Elementsとelementと結ぶ。

  1. Revit > Elemennts > FamilyType > Family を追加し、ElementTypeとfamilyTypeを接続。
  2. Revit > Elemennts > Family > Name を追加し、Familyとfamilyを接続。これによりファミリの名前のリストを取得できます。

タイプ名の取得


  1. Revit > Elemennts > FamilyType > Name を追加し、Element.ElementTypeのElementTypeとfamilyType を接続。

プロパティの取得

構造フレームのレベルは「参照レベル」という名前のプロパティに格納されています。プロパティの値を取得しましょう。

  1. Input > Basic > String を追加し「参照レベル」と設定。
  2. Revit > Elements > Parameter > ParameterByName を追加し、Stringの > と nameを結ぶ。
  3. All Elements of Category の Elements と elmenet を結ぶ。
参照レベルの値が取得できたか、Listを確認してください。

取得した値のリスト化

以上でEXCELに出力する項目の値はすべて取得しました。次に各セルに値を格納するために、一行分を取り出してリスト化します。


  1. List > Generate > List Create を追加し[+]をクリックしてitem0からitem8まで作成。
  2. item0からitem8までを図のように接続する.

リストの列と行を入れ替える


  1. List > Organize > Transpose を追加し、list とlists を接続。
  2. 作成されたリストを確認。

EXCEL出力する

作成したリストをEXCELにエクスポートします。

  1. ImportExport > Data > ExportExcel を追加。
  2. ImportExport > File System > File Path を追加し、file Pathに接続。
  3. Input > Basic > String を追加し、「梁の座標」と入力し、sheetNameに接続。
  4. Input > Basic > Number を 2つ追加し、startRowとstartColに接続。
  5. Input > Basic > Boolean を追加し、Trueを選択し、overwriteに接続。
  6. 最後に List.Transpose のListsをdataに接続すると、Excelが起動し座標が出力される。

完成したグラフはこちらからダウンロードできます。


めざせ!ダイナモマスター

ダイナモを基礎から習得するには、こちらの Dynamo Primer がベストです。ダイナモの習得に必要な基礎知識、チュートリアルがそろっています。すべてを理解するにはかなりの時間がかかりますが、昼休みに少しずつやってみれば3カ月もすれば、あなたもダイナモマスターに必ずなれます。

頑張りましょう!





2018年9月8日土曜日

帖・坪表示と集計表の桁処理

帖数を表示するタグ

前回は面積を小数点以下第3位で切り捨てて表示するタグを作成しました。
面積を小数点以下第3位で切り捨てて表示するタグ
今度は帖数を部屋タグに表示してみます。前回同様小数点以下第3位で切り捨てて表示します。帖は各種係数はありますが、今回は1帖=1.62㎡として
1帖=面積(㎡)÷1.62
の計算式をタグに組み込みます。「帖」という単位はRevitには組み込まれていないので、タイプは「実数」を使用します。

作成手順

  1. 前回のタグを使用し、部屋面積の下に新たにラベルを作成します。
  2. 計算値ダイアログで以下の設定をします。
    • 名前:帖
    • 専門分野:共通
    • タイプ:実数
    • 計算式:rounddown((面積 / 1.62 / 1 m²) * 100) / 100
    • OK
      計算値ダイアログボックス
  3. ラベルを編集ダイアログのラベルパラメータの第1行で
    • 接頭表記:(
    • サンプル値:60.60
    • 末尾表記:帖)
      接頭表記:サンプル値:末尾表記
  4. [#]パラメータの単位書式を設定をクリックし
    • 既定の設定を使う:OFF
    • 単位:固定
    • 丸め:小数点以下の桁数 2
    • OK
      形式
  5. 保存する。
    完成した部屋タグ
プロジェクトにロードして試してみます。
小数点以下第3位で切り捨てて表示されている
この部屋の面積は実測で26.242㎡ですから帖数は
26.242(㎡)÷1.62=16.1987654(帖)
となります。部屋タグでは小数点以下第3位で切り捨てて「16.19帖」と表示されていることがわかります。

坪の場合も全く同じです。坪は
面積(㎡)×0.3025=坪
と考えて計算式は
rounddown((面積*0.3025/1)*100)/100
となります。

集計表で桁処理

ずいぶん前に集計表で面積のけた処理をする手法をご紹介しましたが、ちょっと復習しておきましょう。けた処理フィールドの計算式は

小数点以下第n位を切り捨てる場合
rounddown((面積/1)*10^(n-1))*1/ 10^(n-1)

となります。10^(n-1)は「10のn-1乗」という意味です。この式を使って集計表を作成すると次のようになります。
小数点以下第3位切り捨て
集計表の男子便所、女子便所などの面積に着目すると、部屋面積は小数点以下第3位が切り捨てられていることがわかります。
計算式は
部屋面積:rounddown((面積/1)*100)*1/100
帖   :rounddown((面積/1.62/1)*100)/100

となります。



2018年9月2日日曜日

計算式を含んだタグ

面積を切り捨てて表示する部屋タグを作る

Revitの数字の表示は「丸め」を行っています。今回は面積を小数点以下第3位で切り捨てて表示する部屋タグを作って、切り捨て、切り上げ、四捨五入の処理の仕方を学習してみましょう。使用する計算式は

  • rounddown(x)---x 以下の最も小さい自然数に丸める→切り捨て
  • roundup(x)------x 以上の最も大きな自然数に丸める→切り上げ
問題はround関数は自然数しか扱えないことです。そのままでは任意の桁を処理することはできません。一工夫必要です。

タグの作成

  1. [ファイル]>[新規作成]>[ファミリ]
  2. [注釈]フォルダ>[部屋タグ(メートル単位).rft]
  3. [作成]>[文字]>[ラベル]
  4. [プロパティウィンドゥ]で[タイプを編集]
  5. [名前を変更]をクリックし、名前を[Yu Gothic UI 1.3mm]に設定。
  6. 次の図のようにプロパティを設定する。
    Yu Gothic UI 1.3mm
  7. [複製]を押して名前を[Yu Gothic UI 1.5mm B]として、下の図のようにプロパティを設定する。
    Yu Gothic UI 1.5mm
  8. 参照面の交点付近をクリックして、1.5mmのラベルを配置する。
  9. [ラベルを編集]ダイアログボックスで、カテゴリパラメータから[名前]を選択して[→]ボタンを押してラベルパラメータに追加しOK。
    ラベルパラメータを追加
  10. ラベルの位置を調整する。
  11. 同様に、タイプ[Yu Gothic UI 1.3mm]で、名前の上方に「番号」のラベルを作成する。
    名前の上に番号
  12. 名前をつけて保存する。

面積を小数点以下第3位で切り捨てて表示する

面積を小数点以下第3位で切り捨てて、小数点以下第2位まで表示するラベルを作成します。面積のパラメータをそのまま使わず、計算式のラベルパラメータを作成します。
  1. [作成]>[文字]>[ラベル]
  2. 名前の下方をクリックしてラベルを配置。
  3. [fx]ボタンをクリック。
    計算されたパラメータをラベルに追加
  4. 計算値ダイアログボックスで次の操作を行う。
    • 名前を「部屋面積」
    • 専門分野を「共通」
    • タイプを「面積」
    • 計算式を「rounddown((面積 / 1 ) * 100) * 1  / 100」
    • [OK]
      計算値
  5. [サンプル値]に「100」、[末尾表記]に「㎡」とし、[#]ボタンを押す。
    パラメータの単位書式を編集
  6. 形式ダイアログボックスで次の操作を行う。
    • プロジェクト設定を使用のチェックをOFF
    • 丸めを「小数点以下の桁数 2」
    • 単位記号は「なし」
    • 末尾0を省略をOFF
    • 桁区切りを使用をOFF
    • OK
      形式設定
  7. さらにOKして、ラベルの位置を調整します。
    計算式を含んだタグ
これをプロジェクトにロードしてみると、次の図のように、面積が小数点以下第3位で切り捨てられていることがわかります。
面積を小数点以下第3位で切り捨てて表示

round関数の取り扱いのポイント

ポイント1 : 引数に単位があってはならない。

roundup(x)、rounddown(x)、round(x)の三つの関数の引数Xは実数であり、面積や長さなど単位のある値を設定することができません。そのため、面積を1㎡で割って単位を取り去った値を設定しています。
rounddown(面積/1)

ポイント2 : 処理できるのは小数点以下第1位だけ

round関数が返す値は自然数です。3.1→3のようにけた処理できるの小数点以下第1位に限定されています。そこで、目的の桁数をnとすると10を(n-1)乗した値をxにかけて、結果を10をn-1乗した値で除算します。
rounddown((面積/1)*100)/100

ポイント3:結果は自然数(単位無し)である

round関数の計算結果は自然数なので100で除算しても単位がありません。そこで1㎡をかけて単位を揃えます。
rounddown((面積/1)*100)*1/100
部屋面積のラベルを選択して[ラベルを編集]をクリックし、計算されたパラメータを編集ボタンをクリックすると、式には
rounddown((面積 / 1 ) * 100) * 1 / 100
という、単位が自動的に補われた式が設定されています。

round関数はタグだけではなく、集計表のフィールドにも使えるので、以上三つのポイントに気をつけて使いこなしてください。