2014年9月7日日曜日

ダイナモ白熱教室(4)~エクセル

座標値を編集する

前回取得したCSVファイルをエクセルで編集し、Y座標から1mを引いてして、新しい座標を作成します。
CSVをエクセルで開いて、値を編集する

この座標値を利用して、新たにファミリを配置してみます。

CSVファイルの読み取り

ファイルを読み取るには次の2つのノードが必要です。左の「Search」のところに、テキストを打ち込んで検索すると早いです。

  1. [File Path]ファイル名を指定する
  2. [ImportFromCSV] CSVファイルのインポート
[File Path]のBrowseボタンをおして、CSVファイルを指定し、1の>と2のfilePathを接続します。ここでF5を押して実行してみると、下の図のような数字のリストを取得できていることがわかります。
CSVファイルから座標の値を取得

座標リストの作成

CSVファイルから数値を読み込むと、列ごとにX,Y,Z座標に分かれたリストになっているので、XYZの座標に組み替えて座標のリスト変換します。

  1. [GetItemAtIndex] x3 インデックスを与えて、そのリストを取得
  2. [Number] x3 数字を入力する
1,2それぞれX,Y,Z座標ように3つ用意し、Numberにはそれぞれ0,1,2の数字をいれて、2のindexに接続し、X,Y,Zの座標値のリストを作成します。
X,Y,Zそれぞれの座標値のリストを作成

ファミリの作成

座標値とファミリの名前を指定してファミリを作成します。

  1. [Family Types] ファミリタイプを選択
  2. [FamilyInstance.ByCoodinates] XYZの座標値でファミリインスタンスを作成する

1でファミリ名を選択します。現在のバージョンでは2バイト文字に対応していないのでファミリの名前はあらかじめ半角英数にしておきます。
3つのList.GetItemAtIndexをそれぞれ2のX,Y,Zに接続します。
ファミリタイプと座標値を接続
それではF5を押して実行してみましょう。
ソファの1m前にテーブルが作成された
上の図のような結果になりました。下の図は今回作成した全体の様子です。
全体図
前回と今回でファミリの座標をエクセルに抽出する方法と座標を読み込んでファミリを配置する方法を説明しました。Revitだけでは、ファミリの座標を取得することはできません。それには別途プログラムを使ったカスタマイズが必要だったのですが、ダイナモがあれば比較的容易に座標を活用することができるようになります。Revitを活用した様々な分析に利用できるのではないでしょうか?