2018年3月25日日曜日

ケーブルラック(1)-基本編

ケーブルラックを作ってみよう

電気設計者でなくても、建築との干渉をチェックするためにケーブルラックをモデリングしなければならないことがあるのではないでしょうか?今回はケーブルラックチュートリアルです。
ケーブルラック自由自在

とりあえず作れる体制を整える

ケーブルラックはシステムタイプのタイプは壁や床といった建築のタイプとは少々異なります。仕組みはともかく、まずはケーブルラックを作成する体制を整えます。

  1. ケーブルラックを作成したいプロジェクトを開く。
  2. [ファイル]>[新規作成]>[プロジェクト]
  3. プロジェクトの新規作成ダイアログで[参照]を押す。
  4. Electrical-DefaultJPNJPN.rteを選択して開く。
    電気設計用テンプレートでプロジェクトを作成
  5. 1のプロジェクトをアクティブにする。
  6. [管理]タブ>[設定]パネル>[プロジェクト標準を転送]
  7. ケーブルラックサイズ、ケーブルラックタイプ、ケーブルラック設定をチェックしてOK。
    ケーブルラック関連のプロジェクト標準を転送
  8. 重複タイプの警告が出るが、[上書き]を選択してOK。
    上書きを選択
これでとりあえずケーブルラックを作成する準備ができました。

ケーブルラックを作成する

細かいことは気にせず、とりあえずまずは作ってみましょう。作成しやすいビューはやはり天井伏ビューです。また、同時に3Dビューを表示しておいて、何が起こっているか確認しながらモデリングするようにします。

  1. 天井伏ビューと3Dビューを並べて表示し、それぞれのビュープロパティ[専門分野]を「電気」に、詳細レベルを[詳細]に設定。
    詳細レベルと専門分野
  2. 天井伏ビューをアクティブにする。
  3. [設備]タブ>[電気]パネル>[ケーブルラック]
  4. タイプセレクタで「はしごケーブル ラック」を選択
  5. オプションバーで幅を300、高さを75、まげ半径300、として[適用]
  6. 下の図のように任意の2点をクリックしケーブルラックを描画
    ケーブルラックを作成
  7. [ESC]で終了
まずはこれで高さ2700mmの位置にケーブルラックを作成できました。

分岐

次に作成したケーブルラックの中央から分岐を作成します。
  1. [設備]タブ>[電気]パネル>[ケーブルラック]
  2. 作成したケーブルラックの中央付近をクリック
  3. そのまま下に移動しクリック
  4. 右へ移動してクリック
    1→2→3→[ESC]
  5. [ESC]で終了
継手は自動的に発生します。


継手の変更

継手を変更してさらにその先にケーブルラックを作成します。

  1. 上図2の部分にある継手を選択
  2. 表示された+マークを選択し、継手の形状が変更されることを確認
    +をクリック
  3. 変更された継手を再び選択。
  4. コネクタを右クリックし、[ケーブルラックを描画]。
    右クリックしてケーブルラックを描画
  5. 左の点、やや上の点クリックしてケーブルラックを描画する。
  6. [修正]パネル>[修正]タブ>[コーナーへトリム]で上図の青〇を選択し、継手が自動的に発生したことを確認。
    トリムで編集可能
ケーブルラックは線形モデルなので、壁と同様に、コーナーへトリム、単一要素をトリム、位置合わせなどの編集コマンドが使えます。

まずは基本的なケーブルラックの作成方法を学びました。次回は高さを変えて、上下にダイナミックに移動するケーブルラックを作成してみましょう。
まずは基礎をマスターしましょう。

2018年3月18日日曜日

ダイナモ白熱教室(13)~壁の造作材の体積

壁のスイープの数量

幅木を「壁のスイープ(造作材)」で作成した場合、そのマテリアルのマテリアル別の体積は算出できるでしょうか?
壁のスイープで作成した幅木の数量は?
残念ながら答えはNoです。壁の造作は[表示]タブ>[作成]パネル>[部材拾い出し]では、そのマテリアルを拾い出すことはできません。壁のスイープは長さしか拾えません。普通に集計表を作成すると、マテリアル別の長さを集計することが可能です。
集計表で長さは拾える
実際のところ、幅木や廻り縁であれば、数量としては長さがわかればよいので実質的な問題はないといえます。

ここでダイナモ

そうはいっても、マテリアル別の体積を計測することはできないのでしょうか?断面積×長さでもよさそうなものですが、ダイナモを使って実際の体積をマテリアル別に求めてみましょう。

要素を選択する部分

ダイナモを立ち上げて、下の図のようにカテゴリで要素を選択します。
カテゴリで選択

[Revit]>[Selection]>[Categories]ノードと、[Revit]>[Selection]>[All Element of Category]ノードを追加し、図のように結びます。これですべての壁のスイープを選択できます。

Solidの取り出し体積を測定

壁のスイープからSolidを取り出します。

  1. [Revit]>[Element]>[Element]>[Geometry]
  2. [Geometry]>[Solid]>[Volume]
  3. [Core]>[Units]>[Convert between units]
を追加し、[All Element of Category]に接続します。
Solidを取り出して体積を抽出
Watchノードを追加し結果を確認します。

マテリアルの取り出し

マテリアルの名前を取り出します。
  1. [Revit]>[Elements]>[Element]>[GetMaterials]
  2. [Revit]>[Elements]>[Material]>[Name]
を追加し、これも[All Element of Category]に接続します。
マテリアル名のリストを取得
Watchノードで結果を確認します。

マテリアルと体積をリストに編成

Watchノードをよく見てください。マテリアルの名前も体積も選択した要素と同じ並び順になっています。これらの情報をエクセルに出力しましょう。

  1. [Builtin]>[Flatten]を二つ追加
  2. [Core]>[List]>[List.Create]を追加し、[+]で[Item1]を増やす
  3. それぞれ[Materiarl.Name]と[Convert Between Unit]に接続
    マテリアルと体積をリストにする
Watchで確認して、リストを確認します。

行列を入れ替えてExcelに出力

結果をエクセルに出力する前に行列を入れ替えます。
  1. [Core]>[List]>[Transpose]
  2. [Office]>[WriteToFile]
  3. [Core]>[Input]>[FilePath],[String],[Number],[Boolean]
  4. エクセルを開き、空のブックを作成して保存し、[FilePath]の[参照]を押して選択します。
  5. 下の図のように接続
    エクセルへ出力
これで、エクセルに容積が出力されます。
エクセルに出力
Revitは基本的にSolidモデラーですので、ネイティブの要素であれば、地形を除いて体積を持っています。したがって体積を求めることが可能であるというわけです。



2018年3月11日日曜日

ダイナモ白熱教室(12)-任意の躯体数量を計測する

ジオメトリの解析にはダイナモ

躯体モデルを作成したら、だれでも躯体数量が、しかも指定した範囲の躯体数量が計測したいと思うはずです。ダイナモを使って任意の範囲の躯体数量を算出してみましょう。作戦としては、インプレイスファミリで計測したいエリアをモデリングし、その計測エリア内にある躯体の数量を算出します。
計測範囲はインプレイスで自由な範囲を作成
ダイナモはジオメトリの解析には抜群の効果を発揮します。ファミリ単位ではなく、任意の位置で躯体を切断してその体積を図ってみましょう。
ダイナモを使って任意の位置で切断して計測
なお計測範囲はどのような形状でも構いませんし、梁や床を分割する必要も一切ありません。結合すら必要ありません。


ダイナモを起動

ダイナモを起動します。

  1. [管理]タブ>[ビジュアルプログラミング]パネル>[Dynamo]
  2. ファイルから新規作成を選択
    ダイナモを起動

計測範囲を選択するノードを追加する

  1. [Revit]>[Selection]>[Select Model Element]
  2. ノードをダブルクリックして名前を「計測範囲を選択」とし適用
  3. [選択]をクリックし、計測範囲の要素を選択

計測対象躯体を選択するノードを追加する

    いろいろな選択方法がありますが、今回はカテゴリを指定して選択してみます。なお計測する範囲はここに掲げていないカテゴリ(例えば一般モデルなど)で作成していることが前提です。
    1. [Revit]>[Selection]>[Categories]を4つ追加し、それぞれ以下のカテゴリを選択する。
      • 構造フレーム
      • 構造柱
      • 構造基礎
    2. [Core]>[List]>[List.Create]を追加し、[+]をクリックし、item0~4をつくり、1のカテゴリノードと接続。
    3. [Revit]>[Selection]>[All Elements of Category]を追加し、List.Createと接続する。
      躯体を選択する部分
    これで、指定したカテゴリに属するすべての要素を選択することができます。

    ジオメトリを取り出す

    選択した要素(Element)から幾何学形状(ジオメトリ)を抽出します。庫の取り出しには「Element.Geometry]ノードを使います。

    1. 検索窓に[element.geometry]と入力し、Geometryノードを二つ配置
    2. それぞれ[All Elements of Category]と[計測範囲を選択]に接続
    3. [Watch]ノードを追加し[All Elements of Category]に接続し、[Watch]を見ると、リストが3層になっていることがわかります。
      リストが3層になっている
    4. リストを単層にするため、[Flatten]ノードをElement.GeometryとWatchの間に挿入します。
    5. リストが1層になったことを確認します。Flatten-Watchの接続はいったん外しておきます。
      リストが単純化された

    どのような形状が取り出されたか確認します。

    1. CTRL+Bで背景のナビゲーションを有効にします。
    2. 右クリックして[全体表示]
    3. マウスホイールを開店して拡大縮小、あるいは画面右端のコントロールを利用して適切な大きさで表示します。
    4. CTRL+Bでノードビューに切り替えます
      背景を調節する


    交差を取り出す

    躯体と計測範囲のSOLIDの交差(Intersection)を取り出します。

    1. [Geometry]>[Geometry]>[IntersectAll]を追加
    2. Flattenをgeometryに、計測範囲のElement.Geometryをotheresに接続。
    3. どのような形状が取り出されたかを確認するため、2つの[Element.Geometry]と[Flatten]ノードを右クリックし、[プレビュー]を選択してチェックを外します。
      計測する範囲の形状が抽出できました。
    4. Geometry.IntersectAllノードをダブルクリックして、名前を「躯体ボリューム」とします。
    5. [躯体ボリューム]のGeometry[]にWatchを接続します。
    6. リストが再び階層化されているので、もう一つFlattenを追加(既存をCTRL+C&Vでもよい)します。
    7. Watchはいったん外し、[躯体ボリューム]のGeometry[]にFlattenを接続
    8. 結果として、SolidとLineのジオメトリがあrことを確認してください。確認出来たらいったんWatchは外しておきます。
      SolidとLineが抽出されました

    Solidだけを取り出す

    体積を求めたいので必要なのはSolidだけです。このリストの中からSolidだけを取り出します。リスト処理のノード[RemoveIfNot]を使って、対象となる要素タイプ以外を削除してしまいます。

    1. [BuiltIn]>[RemoveIfNot]を追加
    2. [Input]>[String]を追加し、値を「Solid」とする。
    3. 躯体ボリュームに接続したFlattenをlistに、StringをTypeに接続
    4. Var[]...[]にWatchを接続し、結果を確認する
    5. 躯体ボリュームとFlattenを右クリックして、プレビューのチェックを外す。
      Solidのみ取り出す

    Solidを結合する


    躯体のモデルはひょっとしたら結合されていない部分があるかもしれません。そこで、抽出したSolidを結合して、ダブりのない状態にします。

    1. [Geometry]>[Solid]>[ByUnion]ノードを追加し、[RemoveIfNot]に接続。
    2. [RemoveIfNot]を右クリックしてプレビューのチェックを外します。
    3. Watchを追加して単一のSolidが取り出されていることを確認します。
      単一のSolidとなった

    体積を計測する

    いよいよ最後に体積を計測します。単位を㎥にして表示します。
    1. [Geometry]>[Solid]>[Volume]を追加し、Solid.Unionに接続。
    2. [Core]>[Units]>[Convert Between Units]を追加し接続
    3. [容積]、[立方ミリメートル]、[立方メートル]を選択。
    4. Watchを端部に接続
    5. 体積を確認します。
      体積を計測
    これで躯体ボリュームを抽出できました。Revitで計測範囲を変更すれば体積も変更されます。

    2018年3月3日土曜日

    断面の寸法

    切り口は測れない?

    下の図のような形状の屋根を作成したとします。
    ぐにゃぐにゃの屋根を作成する
    任意の位置に断面を作成し、その「切り口」を計測したいことがあります。
    断面を作成
    しかしながら、CADとは異なりRevitの断面はカメラを配置しているだけなので単純には寸法を測ることはできません。
    断面の厚さを測定したい
    こんなときは参照面とモデル線分の力を借りてみましょう。

    計測したい位置に参照面とモデル線分

    断面の厚さを計測する場合、計測位置に名前の付いた参照面を作成します。まず断面と同じ位置に参照面を作成します。スナップを利かせて断面線と同じ位置に参照面を作成します。
    断面線にスナップすることは一見できないように見えますが、一か所だけスナップするところがあります。断面線を選択すると、端部に●が表示されます。
    ここだけはスナップ可能
    この点だけはスナップするので、これを利用して断面線と同じ位置に参照面を作成します。[作業面]パネル>[参照面]で、断面線の端のほう(●が表示されていた付近)にカーソルを移動するとスナップします。次にこの参照面に名前を付けます(ここでは「A」とう名前にしました)。
    断面線と同じ位置に参照面を作成して名前をAとする
    断面図を表示して、[建築]タブ>[作業面]パネル>[セット]で作業面を「参照面:A」に設定したうえで、測定したい位置にモデル線分を作成する。長さは適当でよい。
    作業面「A」にモデル線分を作成
    [修正]タブ>[修正]パネル>[単一要素をトリム/延長]で、「面」→「モデル線分」の順番でクリックし、モデル線分の端部を上下面に合わせる。
    モデル線分の端点を面に合わせる
    モデル線分を選択し、表示された仮寸法を寸法化する。
    寸法を作成
    Revitの断面は線ではなくカメラの投影です。切断面の寸法を測るのではなく、「個々の寸法が知りたい!」という箇所をモデリング(線を引く)ことが大切です。