最新グラボRTXの威力

NVIDIA GeForce RTX

先日ノートパソコンを購入した。8年選手のノートパソコン(以下M君)はまだまだ元気なのだが、最近ノートPCを持ち歩く機会が多くなったことや、モバイルPCでもBIMやVRソフトをバリバリ動かすことの出来るグラボを搭載した高スペックノートを見つけて思わずポチっとしまった。そろそろOSのアップデートも考えなければならないタイミングでもある。最初に結論を言うと、良い買い物ができたと思う。


[写真1]MSI Prestige-14 (P君)
3DCGがサクサク動く。難点は、計算をがんばり出すと少々うるさいこと。こればかりは構造上どうしようもない。出先でファンが回り出したら「グラボが一所懸命計算しているところです」とエクスキューズする必要有るかも。メールやweb程度の通常作業なら基本的に回らないのであまり心配せずに。

 

グラボ、グラフィックボード、グラフィックカード、グラフィックス、GPU(Graphics Processing Unit)と様々な呼び方があるが、グラボと言えば、ゲームの世界の高スペックなパソコンが第一に思い浮かぶ。キャラクターがかくかく動いているようでは、ボスキャラに太刀打ちできないというわけ。もちろん、我々の建築の分野を含め、ゲームや映画制作や様々なクリエーターの為の3DCGソフトや、昨今では金融の世界のAIソフトなど、多岐に及んだ領域で、高性能なGPUの画像処理性能が不可欠になってきている。システムは良く分からないが、CPUだけの性能に頼るのではなく、両者のタッグによって全体的な演算能力が向上するということらしい。筆者が所有する10年選手のB社のデスクトップワークステーション(以下D君)にGeForce GTX 750 Ti 2GBを据え付けた。当時はネットで2~3万円程度で購入できた。最新のGeForce RTXシリーズは最低でも7万円くらい。性能の向上以上に、需要過多による供給不足の為の価格の高止まりと考えられる。メタバースでますますグラボ獲得競争だ。

 

一方、D君の少し年下のノートパソコンM君も、モバイルワークステーションと呼ばれるラップトップで、Core™ i7-5600U、AMD FirePro M4150、PCIe-SSD と悪く無い。例えばREVITの標準的作業には基本OK。けれどもSSDの容量が256GBしか無いのが悩みの種であった。当時はPCIeのSSDなど高嶺の花。またストレージに余裕があったとしても、GPUの性能を考えるとLUMIONをインストールするのはちょっと無理がある。


[写真2] M君、8年選手。PCIe-SSDストレージのモバイルワークステーション

 

そこで今回の買い替えの目的は2つ。『①ノートPCでRTXグラボ』、『②ポータブルな14インチゲーマーの使うモバイルWSはデカいのが多いが(15インチ以上が標準的)、M君と同じ14インチに絞る。これ以上小さい画面だと、BIM/CAD作業が困難。もちろんRTX内蔵のノートPCは価格が跳ね上がる。M君を22~23万で買ったので、可能ならば同程度の金額で購入したい。円安の状況で難しいかなと思いながらも、RTXを載せたノートPCの品ぞろえが豊富でさらにコストパフォーマンスの良いMSIを見つける。MSIはゲーミングPCを得意とした台湾のメーカー。今や台湾は半導体の巨大生産拠点。他社の製品も色々迷ったが、探していた「RTX」「14インチ」「Windows 11 pro」 の条件が揃ったMSI Prestige-14に軍配が上がった。P君と命名。


MSI公式オンラインショップの製品写真より
[写真2] MSI Prestige-14
ゲーマー&クリエーター向けの製品を主体としたMSIのラインアップの中でも、ビジネス用途をうたったコンパクトなハイスペックモバイル。スペック的にはゲーマー&クリエーター向けの製品と変わらない。公式ページから直接購入可。

< M君> 8年選手 < P君> ルーキー
ディスプレイ 14インチ 14インチ
寸法 339 × 237 × 21mm 319×219×15.9mm
重量 約1.7kg 1.29kg
CPU Core™ i7-5600U Core i7-1280P
SSD 256GB 1TB
RAM 8GB 32GB

[表1] モバイルワークステーション新旧比較

 

ということで、M君とP君の能力の差は説明するまでも無い。ただしこの薄さと軽さのトレードオフはどこにあるかというと、拡張/接続性にある。旧世代のM君には親切にUSBやディスプレイなどの拡張端子が豊富に装備されていた。一方、P君にはThunderbolt 4 Type-Cというオジサンには見慣れない小さな端子が2つ、USB端子は1つしかない。なのでM君の使い方と同じように、拡張ディスプレイやLANに接続するためには、専用の変換ハブが必要となる。MacBook やSurfaceなどの今日日のスタイリッシュなラップトップを買うと、ドッキングステーションという様々な変換ハブを購入する羽目になるというわけ。筆者はLANとDVIをつなぐためのDST-C10というエレコムの製品を5000円で購入。ドッキングステーションも機能を欲張り過ぎると、軽く1万を超えてしまう。箱を開けてLANや外部モニタが接続できるかドキドキだったが、問題なく機能。最新のThunderbolt 4は互換性が高く、速度も極めて高いとのこと。Thunderbolt 4端子の外付SSDなどは非常に高速な転送能力があるらしい。ちなみにバッテリーの接続もThunderbolt 4端子が担う。なんでも接続できるので「万能端子」と呼ぶらしい。


[写真3] ドッキングステーション(エレコム、DST-C10BK)

GPUの新旧対決、GTX vs RTX

事務所に鎮座する10年選手のWS、D君と比べても、今回購入したP君は最新グラボGeForce RTX 3050の威力で、BIMやVRソフトを動かす性能が格段に向上した。


[写真4] 10年選手D君。机の下で埃を被っているが、Core-i7の搭載のデスクトップワークステーション。GeForce GTX 750 Ti 2GBを実装したおかげで電源ユニットも交換する羽目になった。

 

調子に乗って家具ファミリを入れ過ぎてしまい、コンペ提出前に急に動きが悪くなり苦戦したBIMモデル。ルーキーP君で開くとサクサク動く。試しに7680×4320のポスターサイズでD君(デスクトップ)とP君でレンダリング速度を比較してみると、以下のような結果となった。


[写真5] レンダリング時間比較、解像度7680×4320

< D君>10年選手WS < P君>ルーキーモバイルWS
CPU Core(TM) i7-4770 CPU @ 3.40GHz 第4世代 Core i7-1280P @ 4.80 GHz 第12世代
SSD SATA SSD 500GB PCIe SSD 1TB
RAM 16GB 32GB
GPU GeForce GTX 750 Ti 2GB Geforce RTX 3050 Laptop 4GB
レンダリング時間 10分35秒 36秒

[表2] レンダリング速度、新旧比較

 

ということで、P君の圧倒的な勝利。ネットのベンチマークの情報によれば、Core-i7のCPUは第4世代も第12世代もそれほど大差は無さそうで、D君のRAMやビデオメモリの不足の問題や、SATA-SSDとPCIe-SSDの転送速度の差も少なくないが、このレンダリング時間の差の最も大きな要因は、グラボの演算能力の差と予想する。BIMやVRソフトだけでなく、2D-CADの描画能力の高さも極めて良い。外部参照を使いまくる筆者には、CADの作業性の大幅向上にも大満足。もう”デスクトップ”ワークステーションは要らなくなる?

建築デザイナーの皆さん、PCの買い替えには、ぜひグラボの良いものを選んでくださいね。

★追記 230412
最近、Lumion 9 から、永久ライセンスの最終版のLumion 12にバージョンアップしたのですが、< P君>のLumion 12のベンチマークは37%まで大きく下がってしまいました。GPU“Geforce RTX 3050 Laptop 4GB”が“最小”評価の為です。特にGPUメモリは6GB以上が要求されています。高解像度の4Kなどで、バリバリにVRソフトを動かしたい“強者”は、GPUをもう一段性能の良いWSを検討ください。

HN

時間のある方は以下動画もご覧ください。2分21秒↓

 

 

Rhino/Grasshopperで日影図を

日影図といえばJw_cad ! ですが…

久しぶりに日影の検討が必要になった。せっかくBIMを使っているのだから、BIMのプラグイン/エクステンションソフトを購入すれば便利であるのは十分承知なのだが、経費削減の為、日影の検討が必要な際は毎度「Jw_cad」にお世話になっている。Jw_cadは、メードインジャパンのシンプルで非常に優れた建築CAD。日影図だけでなく天空図まで作成でき、確認機関でもJw_cadで作成した日影図/天空図を受け付けてくれる公認のソフトである<図1>。

<図1>Jw_cadで作成した日影図

Jw_cadを使えば正確な日影図や天空図が作成できるのだが、建物の高さの設定が少々面倒である。特に筆者は普段Jw_cadを使ってないので、日影や天空の検討が必要になると、Jw_cadの操作を思い出しながらの作業になるのでさらに面倒となる。日影とJw_cadは忘れた頃にやってくる。またJwは2DCADであり、他のソフトで作成した3Dモデルは(確認してないが)読み込めない(はず)。そもそもJwの日影/天空の3Dは建物の頂点に高さ情報が入った準3Dモデルに過ぎない。

そこでRhinoでつくった3DモデルからGrasshopper(以下GH)を介して日影図が作成できなかと思い立つ。手軽に3Dを作れるRhinoならボリュームスタディなど設計の初期の段階では非常に役に立つだろう。ということでRhino/GHで日影図の生成に挑戦してみたので以下紹介したい。太陽の位置情報はJw_cadの壁倍率表から得ることが出来る<図2>。このパラメーターを利用し、Jw_Cadと比較すれば、Rhino/GHで生成した日影の正誤が検証できる。


<図2>Jw_cadによる壁倍率表

太陽の方向、方位角と高度

ファーストステップは、太陽の方向、すなわち方位角と高度のベクトルへの変換。まずは、冬至9:00の太陽(時刻,高度,方位角)(9.0, 17°09′,-42°46′)のベクトルを作る。上記Jw_cadの表の数値は小数点以下が60進法なので10進法(9.0, 17.15°,-42.77°)にしておく。ノースアップなので+Y方向が北、+X方向が東<図3>。

<図3>Yベクトル0°(北向き)

我々の日本の太陽は南側にいらっしゃるので180度回転し、ベクトルの向きを確認する<図4>。

<図4>Yベクトル180°(南向き)

9:00の太陽方位角「-42.77°」

これを9:00の方位角「-42.77°」に回転する<図5>。これだと西日になっているので、

<図5>「-42.77°」入力すると夕日(西日)

マイナス数値をプラスに変え、反転させる。これで9:00の方位角「-42.77°」のベクトルの設定完了<図6>。
<図6>「+42.77°」で朝日

9:00の太陽高度「17.15°」

まだ太陽はべったっと地面に張り付いている。次にいよいよ9:00の高度「17.15°」を設定し、太陽を天空に上昇させる。回転の基準となる面の作成は「Plane Normal」で法面を抽出するやり方。そして「17.15°」回転し、9:00の太陽(9.0, 17.15°,-42.77°)のベクトルが作成する<図7>。


<図7>「Plane Normal」で法面を抽出

ここまで出来ればゴールは近い。後は9:00から15:00までリストでまとめてベクトルを取得すれば良い。リストは(9.0,17.15,-42.77),(9.5,21.05,-36.75)—-(15.0,17.15,42.77)というように点座標の形式にすると、時間毎の高度と方位角が抽出しやすい。(9:00,17.15,-42.77),(9:30,21.05,-36.75)—-(15:00,17.15,42.77)とするとX座標がエラーが出てしまうので時刻を小数点表示している。リストを使った抽出法は他にあると思うが筆者の苦肉の策。このリストを先のコンポーネントに接続すると、<図8>のように9:00から15:00までの30分毎の太陽ベクトルが取得できる。
<図8>9:00から15:00までの冬至の太陽の軌跡
ここではどういうわけか9:00から15:00で検討していますが、日影規制はほぼ8:00-16:00ですのでご注意ください。念のため。追記220224

影の投影、Project Along!

いよいよ影を地面に落とす。RhinoにはProject というコマンドがあって、オブジェクトを面に投射(Project )することができる。Project Alongというコマンド(正確にはGHではコンポーネント)で投射のベクトルを太陽のベクトルにつなげると、9:00から15:00までの影がXY平面に投射できる!<図9> 2次平面だけでなく、球などの曲面にも投射できる。なので天空図などもRhinoを使えば描くことができる訳であるが、GHでの天空図は別の機会に検討することにしよう。天空が使用可能かどうかはだいたい直観的に分かるケースが多いので必要ないかしら?


<図9>Project Along

これだと地面に影が落ちてしまっている。日影図は測定面と言われる1.5m, 4m, 6.5mの面に落とす影なので、地面を4mの高さに上げる。すると南側にしっぽが出てしまう<図10>。測定面より下のモデルを切り取る必要がある<図11>。

<図10>測定面を設定すると南側にも影が落ちる


<図11>「Split Brep」で測定面より下をカットする。カットする面は「Plane Through Shape」で一回り大きいカット面を作ると便利。スプリットなのでBrepが2つできるので、上のBrepを選択することを忘れずに。

トップビューで確認<図12>。最初にJw_cadで作成した時間日影図<図1>と無事に一致。


<図12>Rhino/GHで作成した時間日影図、Jw_cadで作成した<図1>と一致

等時間日影図

時間日影図を作成すると、2.0h、2.5h、3.0h、4.0h、5.0hの等時間日影図は時間日影図の交点をコツコツと抽出すれば良い。下は2.0h等時間の作成の為の9:00と11:00の影が重なる範囲<図13>。


<図13>9:00と1:00の影が重なる範囲

後は「9:00&11:00」「9:30&11:30」—「13:00&15:00」と重なる範囲をまとめて取り出す<図13>。等時間図としては影の先端を曲線で結ぶ(=微分する)必要があるが、先端が5mラインや10mラインに収まっているか否かを確認すれば良いのでこれで十分。正直言うと、試みたが早々とあきらめる。

<図14>2時間の等時間日影

2.0hを作れば、それをコピーして2.5h、3.0h、 4.0h、5.0hのセットに修正は簡単<図15>。もっとスマートなコードはあると思いますが。。

<図15>2.0hから2.5h、3.0h、 4.0h、5.0hの等時間を作成

検証

それではこのスクリプトでどんな計算結果がでるか検証してみよう。丹下健三のフジテレビばりのゲート型の形状や、ロフトによるスパイラルタワーなどの時間日影図と2.0h等時間日影図は問題なく生成<図16>。形状が複雑になればなるほど計算に時間がかかるので、出力されるまで我慢。「フリーズしたかな?」と思ったが3分も待てば生成。2.0h、2.5h、3.0h、 4.0h、5.0hのすべての等時間のコンポーネントセットがあるので、使用しないものは「enabled」を「off」にしておくとよろしいかと。


<図16>ライノで作成したボリュームをGHで影を生成

スパイラルタワーは抽出できたのだが<図17>、


<図17>スパイラルタワー(OK)

コーンや球体の影が落ちない<図18>。なぜか?上記の方法ではエッジ(Edge)が無いと外形が抽出できない為である。


<図18>コーンの影が落ちない(NG)

コーンはエッジを作るため多面体で作成すれば無事に影が落ちる<図18>。32面体で確認。

<図19>多面体にすると影が作れる

これで某プロジェクトの設計準備完了!

これから元気にコーンやスパイラルタワーを提案するというわけではございませんので、あしからず。

2021.10.10 HN

 

Rhino Inside Revit, Revit上でRhino/Grasshopperを走らす

最近Rhinoが6から7にバージョンアップされた。Rhino7に標準装備された評判(?)の「Rhino Inside Revit」を使ってみたので紹介する。

そもそもRhinoとは?動物の「サイ」と名付けられた「Rhinoceros 3D」(以下Rhino またはライノ)は、学生からプロまで世界中のデザイナーに愛用されている3D CADソフトである。特に曲面のデザインに優れている。さらにGrasshopperを始めとしてさまざまなプラグインが公開されており、コンピューテーショナルデザイン、パラメトリックデザインの世界共通のツール / 言語となっている。20年ほど前、アメリカ留学中の友人に、ロンドンAAスクール出身でFOAのデザインアーキテクトの一人だった優秀なキプロスの建築家がいた。彼は当時からRhinoを使っており、FOA時代には横浜大さん橋のコンペにデザインチームの一人として参加した。当時(さらに5年程遡るので25年ほど前)は、Rhinoも普及されておらず(日本ではほぼゼロであったろう)、FOAが発表した客船ターミナルの地形のようなサーフェスデザインはまさに衝撃であった。さて本題から脱線し過ぎないうちに、デモを始めよう。

Rhino Inside Revit

「Rhino Inside Revit」はRevitのプラグインである。Rhinoceros 3Dの公式サイトからダウンロードできる。https://www.rhino3d.com/inside/revit/beta/getting-started

ダウンロードするとRevitのアドインリボンにRhinoのお馴染みのサイのアイコンが追加される<図01>。インストールしてから最初にRevitを起動する際に、アドインを追加して良いか聞かれるので、もちろんOKする。(いったんOKすると次回の起動からは常にインストールされる。)またRevitのショートカットとしてRを「Rhino Inside Revit」に勝手に割り当てる。

<図01>Rhino Inside Revitアドイン

Rhino Inside Revitアドインを開けると、以下のようなリボンとなる<図02>。ここからRhinoに入る、Rhino Inside Revitというわけである。Rhino Inside Revitは、単独でRhinoを操作しているのではないので、Revit無しでRhino+Grasshopperを立ちあげてもGrasshopper(以下GH)のRevitのコンポーネントは使用できない※。

※Rhino Inside RevitのGHで作成したドキュメントを、Revitを介さず開くとRevitコンポーネントが読み込めないと警告が出る。警告は無視しドキュメントを開くことは出来るが、Revitコンポーネントは全て真っ白となり、GH単独でRevitコンポーネントは使用できない<図03>。

<図02>Rhino Inside Revitのリボン

<図03>Rhino Inside RevitのGHで作成したRevitコンポーネントはGH単独では機能しない。

それではRhino Inside Revitを開いてみよう。まずRhinoボタンを押してRhinoを立ち上げる<図04>。するとRhinoの画面がポップアップする。繰り返すが、これはRhinoではなくRevitの中のRhinoである。(まるで禅問答。。。)

つぎにGrasshopper(以下GH)ボタンからGHを立ち上げる<図05>。Rhinoを介さず直接GHだけ使用することもできる。これで準備完了。

<図04>Rhino Inside RevitのRhinoの画面(右)

<図05>Rhino Inside RevitのGHの画面(中央)

Grasshopperによるスパイラルタワーのデザイン

GHでシンプルなスパイラルタワーをデザインしてみよう。今やこの造形は世界中の都市で出現しているが、まさにRhino + Grasshopperの産物と言ってよい。GHの操作はネットや書籍でさまざまなチュートリアルや動画があるので、おさらい程度に。(筆者も思い出しながら。)

ステップ1, 楕円のフロア

まずXY平面(1階)に楕円フロアを生成し、それを最上階に移動する<図06>。Ellipse, Move, Unit Z

<図06>Ellipse, Move, Unit Z

ステップ2, 最上階回転

最上階の楕円を回転する<図07>。Rotate ※

※1階と最上階の2平面の場合、回転角度は60度くらいまでが限度、それ以上回すと次のステップでサーフェスが破綻する。さらに回転させたい時は中間階が必要。

<図07>Rotate

ステップ3, Loft

そして1階と回転した最上階の楕円をつなげる/スィープする。ここでRhinoのもっともポピュラーで強力なコマンドLoftの出番<図08>。このようにねじれた楕円のシームレスな押し出しサーフェスをインスタントに生成できるのである。このコマンドは世界中の建物のデザインを変えてしまった。

<図08>Loft

このロフトのモデルはRevitにも同期されている<図09>。つまりRevitの中で直接GHが使えるようになったということ!「Rhino Inside Revit」以前は、GHをRevitにプッシュさせるには特別なツールを必要としていた。ザハ事務所はそのスペシャルツールを駆使しているとのこと。

<図09>RevitとGHの同期

ステップ4, パネリング

ここから先はエンベロップの作成。まずはロフトサーフェスをUVグリッドに分割する<図10>。Isotrim(Sub Surface), Divide Domain 2

<図10>Sub Surface

さらにパネルを面(Face)、エッジ線(Edge)、頂点(Vertice)に分解する。Deconstruct Brep

ステップ4, 三角パネル

ここでは三角パネルを割り付ける。無数の四角のリストから、3点の頂点のセットを抽出するには、Cull(摘み取る)というコンポーネントCull Patternを使うと便利<図11>

<図11>Cull Pattern

パネルのパターンを確認するためにPoly Lineを使う。ポリラインはCloseすることを忘れずに(Closeしないとせっかく3点抽出しても三角形にならない)。Patternの端子に3つのBoolean Toogleボタンを接続し、ボタンのON、OFFで摘み取りのパターンを確認する。True, True, Trueだと4点のまま<図12>。True, True, Falseだと1点が摘み取られ3点が抽出される<図13>。

<図12>Cull Pattern : True, True, True

<図13>Cull Pattern : True, True, False

筆者も含めなんだか訳が分からないが、Boolean Toogleボタンを複数付け、ON-OFFを適当に組み合わると、パターンが切り替わるので実験するべし。

ステップ5, Revit Familyの読み込み

最後に割り付けるパネルは、RevitのAdaptive Component Family で作成する<図14>。マリオンの太さは後で調整できるようにパラメーターとして設定。これをプロジェクトの中にロードする。

※アダプティブファミリーの作成は最初は少々とっつき難いので、YouTubeにアップしました。↓

<図14>三角形のパネル、Adaptive Component Family(解説動画)

次にGHでこの三角形パネルファミリーを読み込む。Model Categories Picker, Element Type Picker でプロジェクトにロードしたAdaptive Componentを読み込むことができる<図15><図16>。ちなみにRevitを使用しているので、最後はRevitのファミリをロードしてこないと、Revitを使っている意味が無いのである。

<図15>Model Categories Picker

<図16>Element Type Picker

最後にAdd Component (Adaptive)に先にCullで抽出した3点セットのリストと接続すると、パネルが割付られる<図17>。パネル数が多くなると、割り付けられるまで少し時間がかかるが、じっと我慢。計算している間に下手に触るとフリーズのもと。

<図17>Add Component (Adaptive)

もちろんRevitのモデルも更新される!<図18>

<図18>GHのコードからRevitのファミリを呼び出す

最後に、先に設定した三角パネルのマリオンの太さのパラメーター(mullion width)をGHの中で調整できるようにする。Revitのタイププロパティで変更すれば同じことだが<図19>、せっかくここまでGHで生成したので100%GHのスクリプトで実行しようということである。

<図19>Revitのファミリパラメーターの設定画面

Set Element Parameter を使う<図20>これでマリオン太さをGHの中で調整できるようになった。GHの中でこのタワーの形状を決定するすべてのパラメーター「楕円平面の半径」「タワーの高さ」「パネリンググリッドの数(UV)」「回転角度」「マリオンの太さ」を設定調整し、直接Revitに反映できるようになっている。パネリングの計算は高負荷なので、筆者のパソコンのような「普通の」スペックのPCの場合は、いったんAdd Component (Adaptive)Disableにしてから、ポリラインで成果を確認・検討するのが良い。繰り返すが、計算中はむやみにキーボードやマウスをいじらない。我慢しない筆者は何度フリーズしたことか。。「Revit上でRhino/Grasshopperを走らす」と銘打ったが、結局「走る」じゃなくて「歩く」って感じでした。そんなことに気をつけながら、RevitでGrasshoppingしてみてください!

<図20>Set Element Parameter

追記:上の楕円のスパイラルタワーをRevitで作成するとこうなります。↓

2021.03.13 HN