2017年11月25日土曜日

クレーンに挑戦!(3)

アウトリガの幅に応じた荷重

前回はルックアップテーブルの特定の列を参照する式を作成しました。

定格総荷重 = size_lookup("RK130LOAD", "荷重47", 0, 判別キー)

この"荷重47"とは、「アウトリガの張り出しが4.7mのとき」という意味で、アウトリガの張り出しが変われば、定格総荷重も変わります。ルックアップテーブルにほかの張り出しの荷重を下の図のように追記してみます。(編集済みのCSVファイルはこちらからダウンロードできます。

  • 4.3m---荷重43##OTHER##
  • 3.5m---荷重35##OTHER##
  • 2.5m---荷重25##OTHER##

以下のようにCSVファイルを編集し保存します。
荷重43,荷重35,荷重2.5の列を追加

ファミリを編集する

アウトリガ張出し×ブーム長さの組み合わせでタイプを作成します。ファミリを開いてまずはアウトリガの張り出し長さを保持するタイプパラメータを追加し、ルックアップテーブルを更新しましょう。

  1. 作成タブ>プロパティパネル>ファミリタイプ
  2. ファミリタイプダイアログボックスで次の操作をします。
    • 新しいパラメータボタンをクリックし、パラメータプロパティダイアログボックスで次の操作をします。
      • 名前を「アウトリガ張出
      • パラメータタイプを「長さ」
      • パラメータグループを「寸法」
      • 「タイプ」を選択
      • OK
    • もう一度新しいパラメータボタンをクリックし、パラメータプロパティダイアログボックスで次の操作をします。
      • 名前を「ルックアップテーブル
      • パラメータタイプを「文字」
      • パラメータグループを「文字」
      • 「タイプ」を選択
      • OK
    • タイプでブーム5.3mを選択、名前変更をクリックし「ブーム5.3m×アウトリガ4.7m」としOK
    • ルックアップテーブルの値に「荷重47
    • アウトリガ張出の値に「4700
    • これを繰り返して、すべてのブーム長さとアウトリガ張出の組み合わせたタイプを作成する。
  3. [ルックアップテーブルを管理]をクリックし、ルックアップテーブルを管理ダイアログボックスで次の操作をします。
    • RK130LOADを選択し[削除]
    • [削除を続行]
    • [読み込み]をクリックし、編集しなおしたRK130LOAD.csvを選択し開く
    • OK
  4. 定格総荷重の式で、"荷重47"ルックアップテーブルに変更(""は必要ない)
    size_lookup("RK130LOAD", ルックアップテーブル, 0, 判別キー)
  5. タイプを変更して適用ボタンを押し、定格総荷重の値が変わることを確認する。
  6. OK
  7. 保存
このように、列名はパラメータ化することができます。同様にルックアップテーブル名もパラメータ化することができます。この場合は複数のルックアップテーブルを読み込んでおく必要があります。

使ってみよう

ここまで編集した2017形式のRK130ファミリはこちらからダウンロードできます。これをプロジェクトにロードして、配置してみます。

  1. 平面ビューを開く
  2. 建築タブ>構築パネル>コンポーネント
  3. モードパネル>ファミリをロード で ダウンロードしたRK130_003.rfaを開く
  4. 配置パネル>作業面に配置
  5. タイプセレクタで「ブーム5.3m×アウトリガ2.5m」を選択
  6. 2点を3000mmの間隔でクリックして配置
  7. 3Dビューを開く
  8. 配置したクレーンを選択
プロパティウィンドゥに表示されている定格総荷重が5.9tであることを確認します。
定格総荷重は5.9t
次にワイヤの先端をドラッグして、距離を5000mmに変更します。
定格荷重は0となる
定格総荷重は0となり、揚重不可であることがわかります。そこでタイプセレクタで「ブーム23.8m×アウトリガ4.7m」に変更します。
定格総荷重3.2t
定格総荷重が3.2tとなります。
ルックアップテーブルには複数の列を作成して、様々な値を返すことができます。

次回はせっかくアウトリガの張出しをパラメータとして設定したので、このアウトリガをモデルに表示して、自由に回転できるようにしてみます。

お願い

私自身はクレーンのふるまいについてそんなに詳しいわけではありませんし、仮設計画の経験が豊富なわけではありません。改善すべき点や、盛り込むべき機能にお気づきの点があればぜひコメントをお願いいたします。



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. プロパティパネルに定格総荷重が表示されることを確認します。
    ワイヤ先端をドラッグし、定格総荷重の変化を確認する
配置したらワイヤの先端をドラッグしたり、タイプを変えてブームの長さを変更したりしてみてください。定格総荷重の値が変化します。

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

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

2017年11月11日土曜日

クレーンに挑戦!(1)

クレーンのファミリの要件

「クレーンのファミリを作れないか?」というお話をいただきました。条件は

  1. 吊上げフックの先端を目的揚重ポイントにドラッグできる
  2. 定格総荷重のプロパティを表示できる
という、なかなか難しい注文です。プログラム(.net API)を用いれば容易に可能ですが、ファミリだけで作るとなるとなかなか難しそうですね。まずは、骨組みとなる部分
  • ブーム
  • ワイヤ
  • 回転半径
のみをもつ、最も基本的な形状のファミリを作成してみます。
まずはモデル線分だけでクレーンを表現する
プロパティには下の図のように、ブームの長さや作業半径に応じて定格総荷重を表示します。
プロパティウィンドゥに定格総荷重を表示

お願い

私自身はクレーンについてはあまり知識がないのですが、カタログのデータを頼りに作ってみます。専門家の方でもし、気が付いたところがあれば、ぜひコメントを記入してください。一緒に作っていただければ幸いです。

ドラッグで位置決めするには

配置ポイントを回転しながらドラッグして位置を決めれるファミリは
  • 線基準
  • アダプティブ
のどちらかになります。今回は線基準で作ります。

作ってみよう!

サブカテゴリ

では手順を追って作り方を説明します。まずはサブカテゴリを定義します。カテゴリは一般モデルのままでも構いませんが、クレーンの断面が表示されても仕方ないと思うので、今回は常に見え掛が表示されるように「特殊設備」を使ってみます。
  1. ファイル>新規作成>ファミリ
  2. 一般モデル(メートル単位)、線基準面.rftを選択
  3. プロパティタブ>ファミリカテゴリとパラメータ で [特殊設備] を選択しOK。
  4. 管理タブ>設定パネル>オブジェクトスタイルで[新規作成]をクリックして次のサブカテゴリを作成します。
    • クレーン_ブーム:3:黒:実線
    • クレーン_ワイヤ:2:青:1点破線
    • クレーン_回転半径:1:赤:破線
      サブカテゴリの作成ー断面がグレーになっていることに注目してください。
  5. OK
  6. 名前を付けて保存します。(ここではコベルコRK130とします。)

ブーム

クレーンを配置するときは、平面図上でクレーン設置レベルにおいて
  1. ブームの回転基点
  2. ブームの先端
の順番でクリックするはずです。この1-2間の距離が、「長さ(既定値)」パラメータとなります。では、作成を始めましょう。
  1. プロジェクトブラウザで立面図>正面をダブルクリックして開く。
  2. 下の図のように参照面を作成する。①にブーム基準面、②にブーム最高高さ面という名前を付ける。
  3. 参照レベルに重なっている参照面と①の参照面で寸法を作成して選択。
  4. 寸法にラベルを付けるパネル>パラメータを作成 で「ブーム基準高さ」というタイプパラメータを作成する。
    • 接地面とブームの取り付け高さまでの距離は、重機の機種ごとに決まっていると思うので、タイプパラメータとしました。
  5. 同様に①と②の間に寸法を作成し、「ブーム高さ」というインスタンスパラメータを作成。
    正面ビューで参照面とパラメータを作成
  6. プロパティパネル>ファミリタイプ で以下の操作をします。
    1. タイプパラメータ「ブーム長さ」(パラメータタイプ:長さ)を追加する。
    2. インスタンスパラメータ「作業半径」(パラメータタイプ:長さ)を追加し、式を「=長さ」とする。
    3. インスタンスパラメータ「ブーム最高高さ」(パラメータタイプ:長さ)を追加し、式を「=ブーム基準高さ + ブーム高さ」とする。
    4. ブーム高さの式を「=sqrt(ブーム長さ ^ 2 - 作業半径 ^ 2)」とする。
    5. OK

モデルの作成

モデル、といっても今回はまず「骨組み」として、モデル線分を作成するだけですから簡単です。
  1. 作成タブ>モデルパネル>モデル線分
  2. サブカテゴリパネル>クレーン_ブーム
  3. 下の図の①-②とクリック
  4. サブカテゴリパネル>クレーン_ワイヤ
  5. 下の図の②-③とクリック
    モデル線分を作成
これでクレーンのブームとワイヤは完成です。

作業半径

作業半径は立体で作成してみます。
  1. プロジェクトブラウザ>平面図>参照レベル
  2. 作成タブ>フォームパネル>押し出し
  3. 描画パネル>円 で適当に円をかく。
  4. 選択パネル>修正 で作成した円を選択し、プロパティ[中心マークを表示]を✔。
    中心マークを表示
  5. 修正パネル>位置合わせ を使って中心に位置合わせし、ロックする。
    参照面に円の中心を位置合わせしてロック
  6. 選択パネル>修正 で作成した円を選択し、半径を表示した仮寸法のアイコンをクリックして、実寸法とする。
  7. 作成された寸法を選択し、寸法にラベルを付けるパネル で ラベルリストから「作業半径」を選択する。
    半径にラベルをつける
  8. モードパネル>✔(編集モードを終了)
  9. 作成されたフォームを選択し、サブカテゴリをクレーン_回転半径とする。
  10. プロジェクトブラウザ>立面図>正面を表示
  11. 作成されたフォームを選択し、上端をドラッグし、ブーム最高高さ面にロックする。
    上端をドラッグして参照面にロック
  12. フォームを選択し、プロパティ表示の関連付けボタンをクリック。
  13. インスタンスパラメータ「作業半径表示」を作成して関連付ける。
  14. フォームを選択し、プロパティでマテリアルの関連付けボタンをクリック。
  15. タイプパラメータ「マテリアル作業半径」を作成して、関連付ける。
  16. プロパティパネル>ファミリタイプ で 「マテリアル作業半径」の値に、下記のような半透明なマテリアルを作成して割り当てる。

タイプの作成

ブームの長さに応じたタイプを作成します。RK130の場合ブームは
  • 5.3m
  • 9.0m
  • 12.7m
  • 16.4m
  • 20.1m
  • 23.8m
です。
  1. プロパティパネル>ファミリタイプ
  2. ①のボタンを押して、「ブーム5.3m」という名前のタイプを作成し、プロパティブーム長さ(②)を5300とする。
    タイプを作成
  3. 同様に上記の長さでタイプを作成しOK。
  4. 上書き保存する。

使ってみる

これで第一段階は完成です。プロジェクトにロードして動作を確認してみましょう。2点をクリックして配置します。3Dビューで確認してください。
配置したRK130
次に、3Dビューでワイヤの先端をドラッグして、移動します。
タイプを変更してみます。半径を保ったまま、高さが変更されます。
まずまずの動きです。インスタンスプロパティの表示も問題ないようです。
インスタンスプロパティ
ここまでのファミリのファイルはここからダウンロードできます。ぜひいろいろとご意見をいただきたいです。
次回は定格総荷重の表示にトライしてみましょう。

2017年11月4日土曜日

数量を拾う②

部材を拾ってみる

前回はRoomBookで部屋単位の仕上を拾ってみました。今回は簡単なモデルを使ってBuildingBookで部材を拾ってみます。
算出テストをしたモデル

基本の使い方


  1. Quantificationタブ>Building Book Extentionパネル>Calculate Building Part Quantities
    Calculate Building Part Quantities
  2. とりあえず既定の設定のまま[Calculate]をクリック
    Calculate
  3. 計算が終わったらExportボタンをクリック
    EXCELにデータが出力される

出力された内容

エクセルのタブを見てみると、シートがカテゴリごとに分かれていることがわかります。
カテゴリごとに分かれたシート

レイヤ単位で計測される数量

壁や天井など、複数のレイヤをもつ要素は、そのレイヤごとの数量が算出されています。壁を例にとって詳細に見てみます。
例えばこの表の色を付けた部分のドアが取り付いたGLボンドの壁(タイプ名GL17.5+GB12.5)のQIDは「34」です。これを探してみましょう。
  1. Quantificationタブ>Building Book Extentionパネル>BuildingBookIds▼>Select Building Parts by ID
    Select Building Parts by ID
  2. 「34」を入力しShow
    Showをクリック
  3. 要素がハイライトされます。
GL壁(タイプ名:GL17.5+GB12.5)
この壁タイプのレイヤ構成は次のようになっています。
二つのレイヤで構成されている
これが次の図のように拾われています。
拾いの結果
仕上1のレイヤと構造のレイヤが別々に拾われているのがわかります。しかも長さはそれぞれ仕上1が4293mm、構造が4333mmになっています。確かにRevitでレイヤごとに長さを計測すると、その長さになっています。
レイヤごとの壁の長さ
また取り付いているドアの面積も、マイナスで計上されています。
ドアの面積・容積がマイナス計上されている
以上のようになかなか詳細な情報を計算してくれています。

ただし、当たり前ですが、モデリングしたようにしか拾わないことは間違いないので、正確なモデリングが算出の基礎となります。