2023年2月4日土曜日

ダクト経路設定時の優先指定とパーツタイプ

パーツタイプ

ファミリにはファミリパラメータとして「パーツタイプ」が存在します。パーツタイプはファミリのサブカテゴリのようなものです。ファミリインスタンスを選択して、タイプセレクタでタイプを変換しますが、このとき「同じパーツタイプのファミリ」のみがタイプセレクタに表示されます。

今回はダクト接手のパーツタイプを取り上げてみます。

パーツタイプ

ダクト継手のファミリには次のパーツタイプがあります。

  • Y型
  • エルボ
  • オフセット
  • キャップ
  • クロス
  • タップ - 直角
  • タップ - 調整可能
  • ティー
  • バンド
  • マルチポート
  • ユニオン
  • ラテラル T型
  • ラテラル 交差
  • レデューサ
上記太字で示したパーツタイプはダクトタイプの経路設定時の優先指定で使用するパーツタイプです。

経路設定時の優先指定とパーツタイプの関係

ダクトのタイププロパティ「経路設定時の優先指定」には、ダクトを作成するときの接手を種類ごとに指定できます。
それぞれの項目に指定できるパーツタイプは?


[経路設定時の優先設定]では、接手カテゴリのファミリを指定しますが、パーツタイプにより選択できるファミリが限定されます。角ダクトを例に各項目とパーツタイプとの関係を見てみます。

エルボ
エルボ

指定できるパーツタイプ:「エルボ
ダクトコネクタの数:2
備考:+をクリックすることで「ジャンクション」に変更できます。

ジャンクション(ティー)
ティー:メインダクトを割り込む

指定できるパーツタイプ:「ティー
ダクトコネクタの数:3
備考:ダクトを割り込んで接手を配置します。「優先される継手タイプ」で「ティー」を選択した場合に、ジャンクションで選択可能になります。

ジャンクション(タップ)


タップ:メインダクトを割り込まない

指定できるパーツタイプ:「タップ - 直角」「タップ - 調整可能
ダクトコネクタの数:2
備考:いわゆる「拾い出し」型の接続で、大きな角ダクトから丸ダクトの枝管を引き出すときなどにみられます。優先される継手タイプが「タップ」の場合に、ジャンクションで選択可能になります。

タップ - 直角 はメインダクトに対して正確に直角に接続する必要がありますが、タップ - 調整可能 の場合は多少の角度のずれは許容されます。

クロス
クロス

指定できるパーツタイプ:「クロス
ダクトコネクタの数:4

レデューサ
レデューサ:同じ形状のサイズ違いのダクトを接続

指定できるパーツタイプ:「レデューサ
ダクトコネクタの数:同じ形状の対となるダクトコネクタ
備考:ダクトの形状が「長方形→長方形」「円→円」「楕円→楕円」のように同じ形状の異なるダクトを接続するための接手。

角丸型・角楕円型・円楕円型
角丸の例

指定できるパーツタイプ:「レデューサ
ダクトコネクタの数:異なる形状の対となるダクトコネクタ
備考:パーツタイプはレデューサでも、対となるダクトコネクタの形状が異なる接手です。

ユニオン
ユニオン:同じ形状同じサイズのダクトを接続

指定できるパーツタイプ:ユニオン
ダクトコネクタの数:2
備考:同じサイズ・同じ形状のダクトを接続するときの接手。作成するにはダクトを作成して「要素を分割」ツールで配置したい位置をクリックします。

キャップ
キャップ:ダクトの端部の蓋

指定できるパーツタイプ:キャップ
ダクトコネクタの数:1
備考:ダクトを選択して、修正|ダクトタブ>編集パネル>開いた終端にキャップ または、ダクト端部のコネクタを右クリック>未接続の端部にキャップ でダクト端部に配置することができます。

その他のパーツタイプ

その他のパーツタイプ(Y型・オフセット・バンド・マルチポート・ラテラルT型・ラテラル交差)の接手は、ダクトタイプに組み込むことはできず、設備タブ>空調システム>ダクト接手 で単独にダクトの端部に追加します。
マルチポートの接手の例


どのような形状なのかはについてはMetric Libraryのファミリをサンプルとして見てみればよいでしょう。ver2021まではローカルドライブにファミリがありますので、ダクト接手についてパーツタイプを調査してエクセルにまとめましたので、参考にしてみてください。
データのダウンロードはこちらです。
メトリックライブラリのパーツタイプ別ダクト接手ファミリ一覧表

2023年1月29日日曜日

size_lookup 詳説

ルックアップ

ファミリには、エクセルのvlookup関数のような働きをする「size_lookup」の機能があります。今まで何度か触れてきましたが、Revitのヘルプにはなんだかわかったようでよくわからない説明が書かれているので、ここで機能と使い方をできるだけわかりやすく説明しておきたいと思います。今回は文字が多いので頑張って読み込んでください。

制限事項:戻り値は数値のみ

size_lookupはその戻り値として、文字通り「数値」しか得ることができません。戻り値として「文字」を得ることはできません。

構文

戻り値=size_lookup(ルックアップテーブルファイル名,戻り値列名,規定値,検索値1,検索値2,...,検索値N)

ルックアップテーブルファイル

ルックアップテーブル(csv ファイル)のファイル名を指定します。拡張子は含めないようにします。直接設定する場合は""で囲んでください。
""を使わない場合は、ファミリのパラメータ名と解釈されます。この性質を利用すれば、文字列のパラメータを指定して、ルックアップテーブルを動的に指定することも可能です。

戻り値列名

「戻り値」を格納しているルックアップテーブルファイルの列名を指定します。直接指定する場合は""で囲んでください。
""を指定しないと、ファミリのパラメータと解釈されます。この性質を利用すれば、文字列のパラメータを指定して、ルックアップテーブルを動的に指定することも可能です。

既定値

検索できなかった場合の戻り値の値を設定します。この値は式を設定したパラメータと同じ単位の数値でなければなりません。
ファミリパラメータを指定して、動的に変化させることも可能です。

検索値1,検索値2,...,検索値N

検索する値を設定します。検索値は一つまたは複数設定できます。「○○が100で××が50で△△の値が20のとき」というように、条件として設定したい値をカンマ区切りで必要なだけ並べます。

ルックアップテーブルの書式

さて、構文の内一番わかりにくいのが、最後の「検索値1,検索値2,...,検索値N」です。いったいどの列を検索するのでしょう?戻り値の引数:戻り値列名では列名を指定しているのに、検索する値はまったく列名が指定されていません。では実際にファミリとルックアップテーブルをつくりながら、その働きを見てみましょう。

ファミリの作成とパラメータの設定(Revit)

  1. ファイル>新規作成>ファミリで「一般モデル(メートル単位)」を選択して開く。
  2. 作成>プロパティ>ファミリタイプ
  3. 次のようにインスタンスパラメータを設定します。()はパラメータタイプです。
    • Int1(整数)
    • Len2(長さ)
    • Str3(文字)
    • Res1(整数)
    • Res2(長さ)
  4. 一旦名前を付けて保存。
    パラメータタイプが重要です

ここまでのファミリ(v2023)はこちらからダウンロードできます。

ルックアップテーブルファイルの作成(Excel)

ルックアップテーブルをエクセルなどの表計算ソフトまたはテキストエディタで作成します。ここではエクセルを使用します。サンプルのルックアップテーブルはこちらからダウンロードできます。
  1. エクセルを起動し、1行目のセルに次の値を設定します。
    • A1:(空欄)
    • B1:検索1##NUMBER##GENERAL
    • C1:検索2##LENGTH##MILLIMETERS
    • D1:検索3##OTHER##
    • E1:結果1##NUMBER##GENERAL
    • F1:結果2##LENGTH##MILLIMETERS
  2. 値を設定します。
    • A2~:A列は「メモ」です。検索の対象とはならないので自由にメモを設定します。
    • B2~:B1に##NUMBER##GENERALと指定したので、整数の検索値をで設定します。
    • C2~:C1に##LENGTH##MILLIMETERSと指定したので、長さの検索値をミリ単位で設定します。
    • D2~:D1に##OTHER##と指定したので、検索値を文字で設定します。
    • E2~:E1に##NUMBER##GENERALと設定したので、戻り値を整数で設定します。
    • F2~:F1に##LENGTH##MILLIMETERSと指定したので、戻り値を長さ・ミリメートルで設定します。
      ルックアップテーブル:1行目が超重要

  3. ファイル>名前を付けて保存 で形式をcsv(コンマ区切り)(*.csv)を選択し、「Sample1.csv」として保存して閉じる
    • csv UTF-8(コンマ区切り)(*.csv)ではありませんので注意してください。
    • ファイルを閉じないと、ファミリに読み込めません。

ポイント1:見出し

ここで重要なのは1行目の列名の指定方法です。形式は
列名##パラメータタイプ##単位
です。

列名

何でも構いません。値が重複しないようにしてください。

パラメータタイプ単位

パラメータタイプには「NUMBER、LENGTH、AREA、VOLUME、ANGLE、OTHER」が使用できます。NUMBERは整数または実数に、OTHERは文字列に使用します。単位と組み合わせて使用します。以下に代表的な例を示します。
  • 長さ ミリ:##LENGTH##MILLIMETERS
  • 長さ メートル:##LENGTH##METERS
  • 面積 平方メートル:##AREA##SQUARE_METERS
  • 体積 立方メートル:##VOLUME##CUBIC_METERS
  • 角度 度分秒:##ANGLE##DEGREES
  • 数値 パーセント:##NUMBER##PERCENTAGE
  • 数値 整数or実数:##NUMBER##GENERAL
  • 文字:##OTHER##

ポイント2:検索値

size_lookupの構文で「検索値1,検索値2,...,検索値N」となっていました。ここで列名を指定していませんが、検索はB列から順番に設定した検索値の数だけ検索します。つまりこの場合は、検索値1 はB列を、検索値2はC列を、検索値3はD列を順番に検索します。このため検索列名はsize_lookup構文で指定する必要がないのです。

size_lookup式の設定(Revit)

先ほどのファミリで、size_lookup式を設定して、機能を確認しましょう。
  1. 作成>プロパティ>ファミリタイプ
  2. ルックアップテーブルを管理 ボタンをおして、作成したルックアップテーブルファイル「Sample1.csv」を指定して開く。
  3. Res1の式に次のように書き込む
    • size_lookup("Sample1", "結果1", 0, Int1, Len2, Str3)
  4. Res2の式に次のように書き込む
    • size_lookup("Sample1", "結果2", 0, Int1, Len2, Str3)
  5. Sample1.csvをエクセルで開く。
    • 読み込んだ後は開くことができます。
  6. Int1を2、Len2、Str3の値を変更して、ルックアップテーブルと比較して結果を確認します。
    • たとえばInt1=2、Len2=1000、Str3=Cとすれば、Res1=213、Res2=21006となります。
      size_lookup式を設定

      ルックアップテーブルの値

ここまでのファミリ(v2023)はこちらからダウンロードできます。

まとめ

size_lookupはある値をもとに、複数のパラメータの値を設定することを目的としています。タイプパラメータであれば、ファミリタイプをつくればいいのですから、size_lookupは「インスタンスパラメータ版タイプカタログ」といってもいいかもしれませんね。
もとはといえば、MEPが登場したときにエルボのパラメータ設定をインスタンスベースで行うために開発された機能ともいえます。だから戻り値は数値のみなのかもしれません。
今でも
C:\ProgramData\Autodesk\RVT 2023\Lookup Tables\
には、配管関連のルックアップテーブルがたくさん使用されていることがわかりますので参考にしてみるといいでしょう。

2023年1月21日土曜日

回転するファミリ

回転

次の図のように、ある部材の両端に任意の角度で回転できる部品を取り付けることを考えてみます。
両端の矢印が任意の角度で回転するファミリ

しかもこの回転軸は水平(Y軸に平行)になっていて、この棒の伸縮に伴って回転軸も移動します。
伸縮に伴い回転軸も移動

このようなファミリをつくる確実な方法は、
  1. 回転する物体のファミリ
  2. 1ネストして回転させる「台座」となるファミリ
  3. 2をネストして回転体を据え付けるファミリ
の三つのファミリで考えると確実です

Step1/3 回転する物体のファミリ

回転軸が参照面の交点(原点)にあるZ軸と想定して、回転させたい物体をモデリングします。
  1. ファイル>新規作成>ファミリ で「一般モデル(メートル単位).rft」を開く
  2. 参照面の交点(Z軸)を回転軸と想定して、基準レベルに回転させたい物体をモデリングする。
    回転軸はZ軸!

  3. 名前を付けて保存

Step2/3 「台座」となるファミリ

回転の角度をパラメータに持つ「台座」ファミリを作成します。ポイントはファミリパラメータ「作業面ベース」と「常に垂直」です。
  1. ファイル>新規作成>ファミリ で「一般モデル(メートル単位).rft」を開く
  2. ファミリパラメータ:作業面ベースをオン、常に垂直をオフにする。
    ファミリパラメータを設定する

  3. Step1で作成したファミリをロードし参照面の交点に配置
  4. 角度寸法が作成できるように、参照面の交点を中心に少しだけ回転する。

  5. 角度寸法を配置し、ラベルを付ける。

  6. 角度のパラメータを変更して、回転することを確かめる
  7. 名前を付けて保存

Step3/3 回転体を据え付けるファミリ

最後のステップとして、回転体を据え付けるファミリを用意します。ここでポイントなるのは、回転軸を示す参照面をしっかりと拘束することです。例えば次のように長さが可変の棒状のフォームを作成し、その端点から50mm内側に回転軸を設定します。寸法はロックしておきましょう。また回転軸に直交する回転面として名前のついた参照面も必要です。(この場合は参照面「中心(正面/背面)」)
回転軸と回転面の作業面を設定する

ここまでの準備ができたら
  1. 回転面に正対したビューを開く。この場合は立面図:正面です。
  2. Step2で作成したファミリをロードして配置
    • 修正|配置コンポーネント>配置パネル>作業面に配置をクリック
    • オプションバーの配置面が目的の参照面になっていることを確認して配置します。
  3. 位置合わせを使って、回転軸にロック
    回転軸同士を確実にロック

  4. Step2の角度パラメータを、このファミリのパラメータに関連付ける
    パラメータの関連付けを行う

  5. 名前を付けて保存
  6. プロジェクトにロード
任意の長さ、任意の角度で

回転するファミリはなかなか手ごわいのですが、「Z軸でしか回らない」と割り切ってネストを使えば、確実に目的の回転軸で回るファミリが作成できます。

2022年12月10日土曜日

プレキャストタブ

パーツとアセンブリのお手本に

プレキャストタブ

プレキャストというタブがあります。これはRevitの構造モデル(床と壁)をパーツ化したうえで、いくつかのファミリを追加し、PC部材を作成したり、アセンブリを作成をしたり、CAM用のデータをエクスポートするためのツールです。つまり製造段階のツールということになります。設計・施工ではなかなか使う機会はないかもしれませんが、基本的な使用方法について説明します。パーツ・アセンブリの使い方のお手本ととらえていただければよいかと思います。

準備

  1. 建築テンプレートで新しいプロジェクトを作成。
    • テンプレートは任意のテンプレートで構いません。もちろんいつもお使いのテンプレートでもOKです。
  2. 構造タブ>構造パネル>壁▼>壁 構造
    • 建築タブの壁で作成しても構いません。
    • その場合、作成された壁のインスタンスプロパティ構造にチェックを入れてください。
  3. 標準-150mm で高さ8m長さ16m程度の壁を任意の位置に作成。
  4. 構造タブ>構造パネル>床▼>床 構造
    • 10m四方の床を作成
  5. プレキャストタブ>環境設定パネル>環境設定
    • 警告が表示されますが構わずOKをクリックします。
    • 多くのファミリがロードされますが、各プロジェクト1回だけです。
    • ファミリロード終了後、環境設定ダイアログボックスが表示されます。
      環境設定ダイアログボックス

  6. 環境設定ダイアログはいったんそのままOKしてください。

分割

  1. 3Dビューを開く
  2. 作成した壁を選択
  3. プレキャストタブ>セグメント化パネル>分割
  4. ビューのプロパティ「パーツ表示」を「パーツを表示」に設定。
  5. 作成した床を選択
  6. プレキャストタブ>セグメント化>分割
  7. 均質単盤スラブを選択してOK
    分割後の様子

何が起きたのか

パッと見てわかるのが壁と床がパーツ化されて分割されていることがわかります。それだけではなく
  • 分割プロファイルによる分割
  • パーツをホストとする構造接合や一般壁のファミリが配置されている
    パーツには様々な加工が施されている

  • パーツと新たに配置されたファミリがアセンブリになっている。
    パーツとファミリでアセンブリが構成される

ホロースラブ

床を分割するとき、ホロースラブという選択肢もありますが、これは床の構造部分の厚さが200mmで機能します。厚さ200mmの床を作成して分割すると次の図のようになります。
ホロースラブ

これは分割プロファイルを使った分割と、ボイドファミリによる加工がなされています。このボイドファミリ(中空ファミリ)は自作可能であり、作成方法は
に記載されているのでご覧になってください。

2022年11月26日土曜日

壁のレイヤの高さ(2)壁のリビール編

リビールで削る

リビールタイプを作成して配置すれば、前回の壁のボイドファミリを配置するのと同様に壁レイヤの上部を「削る」ことができます。リビールタイプを作成するにはプロファイルが必要です。

プロファイルを作成する

  1. ファイル>新規作成>ファミリ で「プロファイル - リビール(メートル単位).rft」テンプレートを指定。
  2. 次のように参照面と寸法を配置して、寸法にラベルをつける。

  3. 作成タブ>詳細パネル>線 で矩形のプロファイルを作成する。線は参照面にロックする。

  4. 名前を付けて保存し、プロジェクトにロードする。

プロジェクトでプロファイルタイプを作成

たとえば次の図のような天井と壁があるとします。壁のレイヤ厚さは外から5mm、12.5mmです。
必要なプロファイルは
  • 厚さ:5mm、高さ1050mm
  • 厚さ:12.5mm、高さ968.5mm
の二種類です。そこで、プロジェクトブラウザ>ファミリ>プロファイルでロードしたプロファイルファミリを探して、タイプを作成します。

壁のリビールを配置

  1. 3Dビューまたは立面図、断面図を開く。壁のリビールは配置する壁面を表示する必要があります。
  2. 建築タブ>構築パネル>壁▼>壁リビール
  3. タイプ編集ボタンを押し、複製ボタンをクリック。
    1. 名前を「レイヤ5.0x1050」などと設定してOK
  4. 適切なプロファイルを設定してOK

  5. 配置先の壁の上辺をクリックして配置。

  6. 修正をクリックして配置完了。
  7. 建築タブ>構築パネル>壁▼>壁リビール
  8. タイプ編集ボタンを押し、複製ボタンをクリック。
  9. 名前を「レイヤ12.5x968.5」などと設定してOK
  10. すでにリビールを配置している位置には配置できないので、いったん壁の下のほうに配置する。

  11. 選択した状態で、プロパティ「壁面オフセット」を5に設定。
  12. 表示されている仮寸法を使うか、移動を使用して壁の頂部にリビールを合わせる。

断面図で状況を確認すると次のようになっています。

メリットとデメリット

リビールと壁ボイドファミリとを比較すると、後者のほうがよりお手軽で便利であることは明らかです。ただリビールを使うと局面の壁にも同様の処置ができます。これは壁ボイドファミリにはないメリットです。

曲面の壁についてはリビールを、その他の壁については壁ボイドファミリを設置するというような使い分けが良いと思います。

2022年11月19日土曜日

壁のレイヤの高さ(1)ボイドファミリ編

レイヤごとに高さを変えるには

LGSの壁など、複数のレイヤで構成する壁では、「LGSはスラブまでだけど、ボードは天井の少し上まで、仕上は天井下まで」というように、各レイヤごとに高さを設定したい場合があります。今回はこれを実現する方法を考察してみます。

壁のレイヤの高さをコントロールする方法はあるのか?

下げるのではなく削る

パーツに分割する方法もありますがなかなか煩雑です。また壁タイプで頂部の拘束を解除する方法もありますが各レイヤを独立して動かすことはできません。そこで、今回考えた案はレイヤの天端を下げるのではなく、「削る」という考え方です。壁を削るには二つの方法があります。
  1. 壁基準のボイドファミリを配置する
  2. 壁のリビールを配置する
それぞれメリットデメリットがありますので、今回は1の壁基準ボイドファミリを使ってみます。

壁ボイドファミリの概要

ファミリテンプレート「一般モデル(メートル単位)、壁基準面.rft」を使って壁にホストされるボイドだけのファミリを作成します。まずは2レイヤの高さを調整するファミリです。
壁ホストのボイドファミリ

平面図は次の図の通りですべてインスタンスパラメータです。レイヤ1、2の厚さをパラメータで変更できるようにします。
レイヤ1、2の厚さと幅をインスタンスパラメータに設定

立面図では高さをインスタンスパラメータで設定します。天端レベルを設定し、レイヤ1、2の高さをインスタンスパラメータとします。
レイヤ1、2の高さと天端の高さをインスタンスパラメータに設定

使い方

複層壁を作成してスラブ間に配置します。一例として次のような複層壁を想定します。
複層壁の内訳

また、複層の天井を適切な高さに配置します。これを断面図で見るとこのようになります。
高さの異なる複層壁の天井を壁を挟んで配置

壁に作成した壁ボイドファミリを配置して、レイヤ1厚さを5mm、レイヤ2厚さを12.5mmとし、高さと幅および天井範囲を調整します。同様に壁の反対側にも配置してレイヤ厚さを調整すると次のようになります。
壁ボイドファミリを壁の上端に配置する

隅に注意

これでほとんどの場合はうまくいきます。あとはレイヤの数に応じた壁ボイドファミリをいくつか用意しておけば様々なケースに対応できます。
一つだけ注意することは、この壁ボイドを配置した壁に他の壁が交差する場合です。
配置した壁ボイドと他の壁が交差すると・・・



ボイドと他の壁が交差すると次のような警告が表示されます。
ボイドと壁が直交すると警告が表示される

無視しても構わないのですが、交差する壁を避けて壁ボイドを配置したほうがよいでしょう。

次回は壁のスイープだとどのようなメリット・デメリットがあるのか、検証してみます。