2019年3月31日日曜日

座標系

原点を表示してみる

Revitを操作しているうちは、座標を気にすることはまずありません。しかし座標は存在しています。ダイナモを使って原点を表示してみます。

  1. Revitで建築テンプレートを使って新規プロジェクトを作成。
  2. [管理]タブ>[ビジュアルプログラミング]パネル>[Dynamo]でダイナモを起動。
  3. 新規作成
  4. [Geometry]>[Points]>[Point]>[Origin]でPoint.Originを追加します。
    ダイナモを使って原点を探る
  5. Revitに戻り、[平面図]>[設計GL」を表示。
  6. これで画面上に青い点が表示されます。これがOrigin=(0,0,0)を示しています。
原点に「・」が表示される。
この原点はRevit Modeling Plateの中心に固定されていて、プロジェクトの北がY方向です。RMP全体はプロジェクトの移動により移動できますが、この原点をRMP上の任意の点に移動することはできません。

プロジェクト基準点と測量点

前回書いたプロジェクト基準点と測量点、クリップする、しないについて具体的に見ていきましょう。前回の地球とRMPの絵を思い出しながら、実行してみてください。

練習用のファイルを準備しましたので、ここからダウンロードして開いてください。設計GLのレベルに1000mmピッチで方眼がモデル線分で書かれています。

測量点とクリップ

  1. 原点に測量点とプロジェクト基準点が重なって配置されているので、測量点を選択する(マウスオーバーして何度かTABキーを打てば選択できます。)このとき、表示される座標は下の図のように0,0,0です。
    測量点の値に注目
  2. クリップした状態で、[修正]>[移動]で(-6000,-5000,0)の位置に移動します。すると、座標の値はやはり0,0,0です。前回の説明にあるように、測量点は地球座標系上にあり、クリップ先は「測量原点」です。クリップを解除しないまま移動したため、測量原点が地球上を移動したのです。
    測量原点が移動した
    この状態が前回の下の絵になります。
    測量原点の移動
  3. 次にクリップアイコンをクリックし、赤い線が付いた(クリップした)状態にして、(2000,2000,0)に移動します。すると、N/S(Y)=7000、E/W(X)=8000となり、測量原点からの距離を表示します。
    クリップしていないので、測量原点は元の位置のまま。
    これはこの絵に相当します。
    測量基準点は移動しない。
  4. クリップを解除したまま、N/S、E/Wの数字をクリックして0にすると元の位置に戻ります。

プロジェクト基準点とクリップ

  1. プロジェクト基準点を選択します。このとき表される数字は測量点からの距離です。
    プロジェクト基準点には測量点からの距離が示される
  2. プロジェクト基準点を、クリップをしたまま右へ3000移動します。これはプロジェクトの移動と同じであり、RMPを地球上で右(東)へ3000移動したことになります。
    プロジェクト基準点を右(東)に3000移動
  3. このとき、測量点は地球座標上にあるので移動しません。一方、方眼のモデル線分はRMP上に乗っているので、全体的に移動します。プロジェクト基準点の値は測量点からの距離なので、E/Wの値は9000になります。
    測量点は移動しない
    すなわちこれが「プロジェクトの移動」です。
    プロジェクトの移動
  4. 次にプロジェクト基準点のクリップを外して、(-4000,-2000)の域に移動します。プロジェクト基準点のクリップ=RMPへのクリップです。クリップが外れた状態だと、RMPの中心(原点)は地球上を移動しません。
    クリップを外すと、RMPは地球上を移動しない。
    クリップを外すとプロジェクト基準点は上を移動します。
    RMP上を移動する
  5. N/S、E/Wの数値をクリックして0にすると、測量点とプロジェクト基準点が一致します。
    測量点とプロジェクト基準点が一致
  6. プロジェクト基準点が選択された状態で右クリックし、[開始位置に移動]を選択すると、プロジェクト基準点はRMPの中心(つまり原点)に戻ります。
    開始位置に移動でRMPの原点に戻る

真北の回転

  1. 測量点を選択し、クリップされている(赤い線がついていない)ことを確認します。同様にプロジェクト基準点を選択し、クリップされていることを確認します。
  2. プロジェクト基準点を選択し、[真北の角度]の値を30にします。ENTERした瞬間に測量点が移動することに注目してください。
    真北の角度を変えるとクリップした測量点は移動する。
測量点は地球座標に乗っているので、真北が回転したため移動したのです。前回下の図のように、RMPと地球の関係を説明しましたが、
RMPが回転するのではなく・・・
UI上ではプロジェクトの北が常に画面の上を向いているため、地球側が回転します。したがって測量点が移動することになります。
画面上はRMP固定で地球が回転
測量点はいわゆる「ベンチマーク」なので、いったん位置が確定したら、ピンでとめるなど、不用意に動かさないようにしたほうがよいでしょう。
また、測量点はRMP上にあること、つまり原点から半径10マイル以内においておくことが望ましいと言えます。

2019年3月24日日曜日

Revit Modeling Plate

Revit Modeling Plate

普段はあまり気にしないのですが、建物と土地(地球)の関係はRevitにおいてどういった概念でとらえられているのでしょうか?もし仮に無限のコンピューティングパワーと無限の労力があれば、Revit上に地球を丸ごと再現することは可能でしょうか?

おそらく答えはNoです。

なぜなら、Revitのモデリング空間は直行座標系で、当然ながらXY平面は平たんです。一方地球は球体です。ある点においては正確ですが、そのある点から遠ざかるにつれて正確性は低くなり、ついにはモデリングができなくなってしまうでしょう。
中心から離れるほど地球上の座標は不正確になる

上の図でマゼンタで示されたRevitモデルが構築される平面を仮に「Revit Modeling Plate (RMP)」と呼ぶことにします。通常私たちはこのRMPの上に直行座標系を用いてモデルを作成しています。
Revit上ではモデルの大きさに制限はありませんが、推奨される限度というものがあり、だいたい直径20マイル(33km)を超えると、正確性は保証されていません。(20マイルの壁)このRMPの推奨される大きさが直径20マイル(33km)ということになります。

座標

Revitの座標系はやや複雑です。はっきりと名前がついてはいませんが、以下の3つの概念を持っています。
  1. 地球座標系
  2. プロジェクトの北座標系(内部基準点が原点:プログラムで取得可能な座標値)
  3. 真北座標系(1の地球座標系と基本的には同じ)
概念としては下の図のように球体としての「地球」と、円盤状の「Revit Modeling Plate」がある一点で接した状態がRevitの座標系です。
地球の上に半径20マイルの円盤が乗っているイメージ

RMPの原点はプロジェクトの北座標系の原点で、常にRMPの中心にあります。プログラムやダイナモで取得できる座標はこのプロジェクトの北座標系の値です。この原点を内部基準点と呼びます。内部基準点はRMPの中心に固定されていて、移動することはできません。

真北座標系

RMPにはもうひとつ真北座標系があります。これは敷地コマンドにより、複数を切り替えることができます。真北座標なので、Yは北極を指していることになります。ですから、原則としては地球座標系と基本的に同じであるともいえます。
真北座標


プロジェクト基準点と測量点

これらの座標系と「測量点」、「プロジェクト基準点」および「クリップ」の関係を考えてみます。
基本的には測量点は地球に、プロジェクト基準点はRMP上に存在します。
測量点とプロジェクト基準点


プロジェクト基準点+クリップ=プロジェクトの移動


プロジェクト基準点を選択するとクリップのマークが表示されます。このクリップはON/OFFができます。OFFの時はRMP上を自由に移動しますが、ONにするとRMPにクリップ(刺さるイメージ)します。プロジェクト基準点のクリップをONにしたまま移動すると、RMPに突き刺さっている状態で動かすことになるので、RMP全体が地球上を移動します。これがプロジェクトの移動です。
プロジェクトの移動:測量点は地球に「刺さっている」ので、移動しない。

このとき測量点は移動しないことに注目してください。測量点は地球座標系にあるため、RMPが移動しても影響を受けず、地球上の指定した点に残ります。
このとき、移動距離が20マイル(33km)を超えると、距離の正確性は上記の地球(球体)とRMP(平面)の関係で、正確性が徐々に失われていきます。

測量点+クリップ=測量基準点の移動

測量点もまたクリップのON/OFFを切り替えることができます。クリップしていない場合は、測量基準点は地球上を移動せず、0,0と指定した位置にとどまり、移動した測量点は測量基準点からの距離を表示します。
クリップを外すと、測量基準点は移動しない。
測量点をクリップすると測量点基準点が地球上を移動します。
クリップすると測量基準点(0,0)が移動する
測量点のクリップは「測量基準点(0,0)にクリップ」しているのです。

真北の回転

真北を回転コマンド([管理]タブ>[プロジェクトの位置]パネル>[位置▼]>[真北を回転)]を使ったとき、思った方向と逆の方向に真北が回転してしまった、という経験をお持ちではないでしょうか?この動きも地球とRMPの関係を考えれば納得がいきます。
下の図は標準添付のテンプレートでプロジェクトを開始したときの状況を示しています。このとき、プロジェクトの北と真北の方向は一致しています。
最初はプロジェクトの北と真北は一致している
真北を設定するために[真北を回転]で真北を10時の方向へ回転させるとします。注意すべきことはこのコマンドが地球ではなく、RMPを回転させる、ということです。
もしこのとき12時の方向から10時の方向へ回転を指定すると、RMPが反時計回りに回転するので真北の位置は2時の方向になってしまいます。
真北が2時の方向になってしまいます。
真北をプロジェクトの北からみて、10時の方向にするには、RMPを12時の方向から2時の方向に回転させる必要があります。
真北が10時の方向になります。

真北を回転する場合も、測量点は地球に刺さっているので移動しません。ところがRevitのUIからはプロジェクトの北が常に画面の上を向いているので、測量点が移動したようにみえるのです。


いかがでしたか?プロジェクト基準点、測量点、真北、クリップの関係がつかめていただけたでしょうか?地球と建物の関係を考えてみるのも、なかなか壮大で面白いものですね。

2019年3月17日日曜日

座標を公開

座標を公開

土地に関連して、「座標を公開」という機能を取り上げます。
イメージとしては下の図のように、大きな敷地に複数の建物が建ち、それぞれのプロジェクトをリンクしているような状態です。
複数のプロジェクトが敷地にリンクされている
このような場合、敷地プロジェクトの座標を基準として、三つの家が同じ座標を共有することで互いの位置関係を確認することができます。

練習

練習用のファイルを準備しましたので、こちらからダウンロードしてみてください。バージョンは2019です。
敷地
HouseA.rvt
HouseB.rvt
Housing Site.rvt

手順-敷地の準備


  1. Housing Site.rvtを開き、平面図>配置図を開きます。
    平面図>配置図
  2. [管理]>[プロジェクトの位置]>[位置]で[敷地]タブをアクティブにし、敷地がひとつだけ含まれていることを確認します。
    敷地が一つだけ含まれている
  3. 配置図に戻って、プロジェクト基準点(〇)を選択し、真北の角度を30にします。
    真北を回転
  4. 測量点(△)基準点のクリップしたまま、[修正]>[移動]で、中央下の+印まで移動します。
    ベンチマークへ測量点を移動
中央下の+は、この計画全体の基準となる点(ベンチマーク)だと考えてください。

手順 - リンク

敷地にHouseAとHouseBをリンクして位置を調整します。敷地のデータには詳細線分でリンク先の位置とレベルが書いてありますので参考にしてください。
  1. [挿入]>[Revitリンク]でHouseAを選択、配置を手動 - 中心でOKし、いったん適当な位置に配置します。
  2. リンクしたHouseAを[修正]>[コピー]でもう一つインスタンスを作成。
    リンクインスタンスをコピー
  3. [修正]>[回転]や[位置合わせ]などを使って、適切な位置に移動。
    リンクインスタンスを移動
  4. [立面図]>[北]を開き、それぞれのHouseAを2000、4000上方へ移動。
    高さを調整
  5. 同様にHouseBをリンク。
これで敷地に対して建物を配置しました。
敷地に配置されたプロジェクト

手順 - 座標を公開

次に敷地の座標系をHouseA、HouseBに公開します。これにより、HouseA、HouseBとHousing Siteでベンチマークや真北方向を共有することができます。
  1. [管理]>[プロジェクトの位置]パネル>[座標▼]>[座標を公開]
  2. 2段目にあるHouseAのリンクインスタンスをクリック。
  3. HouseAプロジェクトの位置情報が表示されます。[複製]をクリックし、名前を○○計画としてOK。もう一度OK。
    複製して新しい敷地を作成
  4. 続けて、一番高い位置にあるHouseAを選択。
  5. もう一度[複製]をクリックして、名前を○○計画2としてOK→OK。
    位置関係が中段のHouseAとは異なるので、異なる敷地を一つのプロジェクトに登録する
  6. 同様にHouseBに対しても座標を公開する。
  7. [ファイル]>[保存]で、下の図のようなダイアログボックスが表示されます。これは上記手順で設定した敷地の情報をリンクされたファイルに対して行うかどうかを問い合わせるダイアログボックスです。ここでは一番上を選択します。
    HouseAについて
  8. もう一度、HouseBについて、同じ問い合わせがあるので[保存]を選択します。
    HouseBについて
  9. Housing Siteを閉じます。

手順 - 個別のプロジェクトを確認

では共有された状況を個々のプロジェクトで確認してみましょう。
  1. HouseA.rvtを開き、3Dビューを開きます。
  2. [挿入]>[Revitリンク]でHousing Site.rvtを選択。配置を自動 - 共有座標を指定 を選択して[開く]。
  3. ネストされたリンクの警告が表示されますが、気にせず[閉じる]。
  4. この時点では、敷地とHouseAの関係は正しくありません。
    この時点では正しい位置関係ではない
  5. [管理]>[プロジェクトの位置]>[位置](左のほう。▼がついていないほうです)
  6. [敷地]タブで、○○計画を選択し、[現在の値にする]で[OK]。これで正しい位置関係になります。
    正しい位置関係になる
  7. [挿入]>[Revitリンク]でHousingB.rvtを選択。配置を自動 - 共有座標を指定 を選択して[開く]。
  8. HouseBの位置・気象および敷地ダイアログボックスが開きます。○○計画を選択して、OK。
    HouseBの敷地を選択
  9. HouseBが正しい位置に配置されます。
    HouseBが正しい位置にリンクされます。
  10. もう一度、[管理]>[プロジェクトの位置]>[位置](左のほう。▼がついていないほうです)を選択。
  11. [敷地]タブで、○○計画2を選択し、[現在の値にする]で[OK]。
    ○○計画2を選択
こうするとHouseAが一番高い敷地になるように、Housing SiteとHouseBが移動します。
HouseAが高台に移動

測量点の位置を確認

  1. [平面図]>[設計GL]を開く。
  2. 測量点(△)がHousing Siteの測量点と同じ位置になっていることを確認してください。
    測量点が共有されている
  3. [管理]>[プロジェクトの位置]>[位置](左のほう。▼がついていないほうです)を選択し、[敷地]タブで○○計画を[現在の値に設定]してOK。
  4. やはり測量点がHousing Siteの測量点になっています。
    測量点が共有されている
  5. 測量点を選択し、真北方向を示す↑(モデル線分)と北方向が一致していることを確認してください。
    測量点で真北を確認
座標を公開することで、複数のプロジェクトで位置関係を正確に保つことができます。
座標を公開して位置関係を保つ