「デジケン」管理人のpannaです。 前回はExcelファイルからデータをインポートする方法を紹介しました。今回の記事では、Excelファイルからデータを取り込んでプロジェクト内の情報を更新する方法を共有します。
▽前回の記事はこちら▽
Excelファイルの情報でRevitモデルのパラメータを更新する
前回の記事で紹介したExcelから情報をインポートして、鉄骨梁ファミリの梁せいを更新してみたいと思います。プログラム全体図は次の通りです。
赤点線で囲まれている箇所は前回の内容です。簡単に振り返ると、Excelファイルのパスからファイルデータを読み取り、シート名称を入力することで、シート内の情報をDynamoで扱えるようにするという内容でした。今回は、インポートしたExcelファイルデータを「Element.SetPatameter」に入力させることで、鉄骨梁SG1の断面を更新します。
まず、鉄骨梁SG1を用意します。
「RUG2.0」のテンプレートを使用して梁せい100の梁を作成しました。この「SG1」というタイプの梁せいを更新します。次の様なExcelファイルを用意してください。赤枠に示した通り梁せいを200に更新します。
梁タイプと更新のためのExcelファイルを用意しました。ここでもう一度Dynamoのノード全体図を見てみましょう。
後半部分は、List.Transposeでエクセルからインポートしたデータの行と列を入れ替えるところから始まります。 「IN[0];」と 入力したCodeBlockにつなぐことで、リストの1番目の情報であるType名称のデータを取得します。
取得したデータを「FamilyType.ByName」に入力することで、プロジェクト内のFamilyTypeを名前で指定することができます。こちらの情報を更新するので、「FamilyType.ByName」ノードのFamilyTypeの出力を「Element.SetParameterByName」のelementに入力させてください。
「FamilyType.ByName」で指定したFamilyTypeに「Element.Parameters」をつなぐと、FamilyTypeが持っているパラメータを確認できます。今回更新予定のSG1の形状を決定するパラメータを赤枠で囲みました。
- SizeB:梁幅
- SizeH:梁せい
- SizeTf:Tfだけどウェブ厚(テンプレート作成者が間違えたのかも…)
- SizeTw: Twだけどフランジ厚(同上)
今回は梁せいを更新するので、CodeBlockに「”SizeH”;」と入力(string形式)してparameterNameに入力させましょう。valueには梁せいの情報である「IN[1];」を入力させます。実行ボタンを押せば梁せいが200に更新されます。
Revitモデルのパラメータを更新するには
- Revitモデルのパラメータを更新するには「Element.SetParameterByName」
(画像内にTipsを記入しましたが多少読みにくいので、次回はもう少し見やすさを心がけます…
次ページ:初心者のためのチュートリアルC01|Grasshopperの情報からDynamoでRevitモデルを作る:その1
コメント