2017年11月18日土曜日

クレーンに挑戦!(2)

定格総荷重を表示するには

今回のテーマは「定格総荷重の表示」です。コベルコRK-130のカタログをみると、

  • アウトリガの張り出し
  • ブームの長さ
  • 作業半径
の三つの条件で、定格総荷重の値が決まるようです。こういったある値に対して、決まった値を取り出すには「ルックアップテーブル」を使うとよいでしょう。聞きなれない言葉ですが、実はRevitMEPがリリースされた当初から存在している機能なんです。条件が一つだとさらにやりやすいのですが今回は複数あるので、ちょっと工夫が必要です。

検索キーを作成する

エクセルのルックアップとは異なり、検索できるのは数字だけという制約があります。そこで、検索条件としてブームの長さと作業半径を8桁の数字として編成します。
作業半径はインスタンスパラメータ「長さ」です。ドラッグすれは自由に変更できるので、表にあるような0.5m刻みにする必要があります。そこで以下のような「形式判別」用のパラメータをファミリに追加します。

ファミリパラメータ追加

ファミリを開いて、次のパラメータを追加して式を設定します。

  • パラメータ名:判別キー(長さ、インスタンス)
  • 式:=ブーム長さ * 100 + 5*roundup(作業半径/500)
    判別キー

ブームの長さに100をかけて、上4ケタを作り、作業半径(mm)を500(mm)で除して5をかけて下4桁を作ります。これで数値による検索キーができました。

ルックアップテーブル

ルックアップテーブルはcsv形式のファイルで、エクセルで編集します。
サンプルCSVファイルはこちらからダウンロードできます。

形式

1行目:列タイトル (列名#パラメータタイプ#単位)
2行目以降:値
1列目:メモ(プログラム的には無視されます。自由に書いてよい)
2列名:検索キーの値
3列目以降:検索する値
ルックアップテーブル
A1セルは必ず空欄です。
B1, C1…は列の説明が入りますが、その形式は
  列名##パラメータタイプ##単位
です。パラメータタイプはもともとMEPで複数の配管サイズを一つの呼び称で決定するために作られた機能なので使えるタイプは以下の種類に決まっています。

  • 整数(NUMBER)
  • 実数(OTHER)
  • 長さ(LENGTH)
  • 面積(AREA)
  • 容積(VOLUME)
  • 角度(ANGLE)

今回のように荷重のように重さの値は検索できないので、代わりに実数(OTHER)を使用します。
ルックアップ関数はB列の値を検索して、C列以降で関数で指定した列の値を取り出します。B列の列名は何でもいいです。パラメータタイプと単位だけは正しく指定します。

検索例

ブーム長さ9mで作業半径3mの場合、判別キーは「900030」となるので、荷重47の列を指定した場合、返される値は「6」となります。

パラメータとlookup式の作成

ファミリを開いて、定格総荷重を示すパラメータを作成し式を設定します。式の書式は
=size_lookup("CSVファイル名","検索列名",見つからないときの値,検索キーパラメータ)
です。

  1. プロパティパネル>ファミリタイプ
  2. ファミリタイプダイアログボックスで[ルックアップテーブルを管理]をクリック。
  3. [読み込み]を押して、ダウンロードしたCSVファイル(RK130LOAD.csv)を選択してOK
    ルックアップテーブルを読み込む
  4. OK
  5. [新しいパラメータ]をクリック。
  6. パラメータプロパティダイアログボックスで次の操作をします。
    • 名前に「定格総荷重」
    • パラメータタイプ「実数」
    • パラメータグループ「データ」
    • インスタンスを選択
    • OK
  7. 定格総荷重パラメータの式に次の式を設定
  8. 定格総荷重パラメータにルックアップ式を追加
    • size_lookup("RK130LOAD", "荷重47", 0, 判別キー)
    • 値が反映されることを確認
  9. OK

使ってみよう

それでは実際に使ってみましょう。
  1. プロジェクトを新規に作成して、ファミリをロードします。
  2. 配置パネル>作業面に配置を選択、2点をクリックして配置します。
  3. プロパティパネルに定格総荷重が表示されることを確認します。
    ワイヤ先端をドラッグし、定格総荷重の変化を確認する
配置したらワイヤの先端をドラッグしたり、タイプを変えてブームの長さを変更したりしてみてください。定格総荷重の値が変化します。

次回はアウトリガの張り出しを変えてみます。

何かクレーンのファミリで気を付けなればならないことなど、ご意見やご提案がありましたら、遠慮なくコメントに投稿してください。

2 件のコメント:

  1. 髙取さま
    いつも参考にさせていただいています。Revit初心者です。
    今ちょうどこの記事を見ながらクレーンの定格総荷重をパラメータにしようとしているのですが、まず試作で紹介していただいているとおりに作成しているのですが、ルックアップテーブルがうまくいきません。。
    Revit2017で作成するとうまくいくのですが、Revit2018でsize_lookupの式を入れようとすると、「単位が一致しません」のエラーが出てしまいます。関数ではありますが、/1や*1を試してみたりはしたのですがうまくいかず、解決策があるようでしたら是非ともお教えいただきたいです。

    試作方法
    前記事の完成ファミリをダウンロードして、判別キーと定格総荷重のパラメータを追加、(ルックアップテーブルもダウンロードして読み込み)
    これを
    Revit2017で作成⇒成功
    Revit2018で作成⇒「単位が一致しません」のエラー
    ただ、
    Revit2017で作成して成功したファミリを2018で開いた場合⇒成功のまま使用可
    となります。

    エラーを検索したところ、オートデスクのページにこのエラーのことを質問されてる方がいらっしゃったのですが、未解決のようでした。。
    https://knowledge.autodesk.com/ja/support/revit-products/troubleshooting/caas/sfdcarticles/sfdcarticles/kA63A000000GscL.html

    もしお時間ありましたら、もしくは何かエラー解決がすぐ思いつくようであれば、教えていただければと思います。。

    返信削除
  2. 上記コメント記入させていただきました者です。
    エラー回避できました!サポートの情報(英語)の、
    CSVファイルの、##OTHER##を、##number##general
    によってできました!
    Revit2018(以降?)でしょうか。。
    ありがとうございました!

    返信削除