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カ月もすれば、あなたもダイナモマスターに必ずなれます。

頑張りましょう!