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)
  • 長さ(LENGTH)
  • 面積(AREA)
  • 容積(VOLUME)
  • 角度(ANGLE)

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

【2022.07.01改訂】

仕様が変更となっていました。
単位のない数字のフォーマットは「パラメータ名##NUMBER##GENERAL」
パーセンテージは「パラメータ名##NUMBER##PERCENTAGE」

修正したCSVファイルをこちらに掲載しました。長い間気が付きませんでご迷惑をおかけいたしました。

検索例

ブーム長さ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でレイヤごとに長さを計測すると、その長さになっています。
レイヤごとの壁の長さ
また取り付いているドアの面積も、マイナスで計上されています。
ドアの面積・容積がマイナス計上されている
以上のようになかなか詳細な情報を計算してくれています。

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

2017年10月28日土曜日

数量を拾う①

数量を拾う

Revitで数量を拾う代表的な手段は、集計表を使うことですが、部屋ごとに仕上や下地の数量を拾うには不十分です。Autodeskの「Roombook/ Areabook/ Buildingbook for Revit 2016/17/18(サブスクリプションユーザー無償)」を使えば、かなり詳細な数量を拾うことができます。どのような機能があるのでしょうか?

RoomBookをインストール

インストールはAutodesk Accountから行います。アクセス方法はいくつかありますが、
autodesk account
検索

で検索して、Autodesk AccountのページにAutodeskIDでログインします。そして、「管理」をクリックします。
[管理]をクリック
ここにはユーザーが使用可能な更新プログラムやプラグインなどソフトウェアの一覧が表示されます。
「製品の更新」を選択し、Roombook/ Areabook/ Buildingbook for Revit 2016/17/18を探してダウンロードしてインストールします。
製品の更新からインストーラをダウンロードします。
ダウンロードした「RoombookAreabookBuildingbookforRevit2018.msi」を起動します。Nextボタンで順次進みます。途中いくつか選択肢が提示されますが、既定値のまま進みます。
既定値のままNext
残念ながら日本語版はありませんので、ENGLISHで行きましょう。
International / English
あとは手順通りにインストールしてください。

使ってみよう!

詳細な設定は後述するとして、まずは基本的な使い方をマスターしましょう。インストールすると「Quantification」のタブが追加されます。
Quantificationタブ
今回は部屋単位での算出をしたいので、RoomBookを使ってみましょう。
RoomBook Extension タブ
左端の「Calculate Room Quantities(部屋単位の数量算出)」をクリックすると、下のダイアログが表示されます。
Calculate Room Quantities
既定の設定のまま[Calculate]ボタンを押します。すると、プログレスバーが表示されて計算が始まります。
計算が始まります
建物規模とPCの性能によってはかなりの時間がかかりますが、計算が終了すると下の図のように、要素ごとにタグが作成されます。
特殊部品タグがふられる

EXCELに結果を書き出す

計算結果をエクセルに書き出してみましょう。

  1. Qunatificationタブ>Roombook Extentionパネル>Calculate Room Quantities
  2. プロパティをスクロールして、一番下のExportグループのExport Formatが「MS Excel」になっていることを確認
    Export Format を確認
  3. 一度ダイアログを閉じた場合は、前回の計算を利用するので、Skip re-calclation and use last calculated resultにチェックを入れる。
    一度ダイアログを閉じた場合は、前回の結果を使うに✔。
  4. Exportボタンをクリック
エクセルが立ち上がり、計算結果の出力が始まります。
計算結果の出力が始まる
このとき、シートの随所に$が表示されていますが、$が表示されている間は出力中なので、決してExcelを操作しないようにしてください。

どのような値が出力されるのか?

では、出力されたエクセルのデータをみてみると、まずタブは

  • Wall_Surfaces(壁の表面)
  • Floor_Surfaces(床の表面)
  • Ceiling_Surfaces(天井の表面)
  • Room_Circumferences(部屋の周囲ー幅木)
  • Furniture_Elements(家具)
  • all_Room_Quantities(全部屋の数量)

ができています。例えばWall_Surfacesを見てみると
壁の拾い
部屋ごとのそれぞれの「面」が、表面マテリアル、幅と高さと面積、建具の面積が算出されています。ID列には平面ビューに振られたタグの番号が書かれています。
算出された部屋
この部屋(管理室)をRevitで確かめてみます。

タグが振られた平面ビュー
例えば、216の壁は202の建具が付属しています。216の壁自体は幅が3400で高さが2700で面積が9㎡となっています。これは「内法」で計算されています。
さらに、建具が-2㎡とちゃんと+/-に分けて算出されています。マテリアルと算出元となった壁タイプもわかるので、仕上の見積もりに対応できる数量が出ています。

こんな詳細な数量データ算出ソフトが無償で提供されているとは驚きです。

次回はもう少し詳細に中身を見ていきましょう。