Lands DesignとGrasshopperプラグイン(OpenNest)を、地形のモデリングとコンタ模型の作成に応用する方法について考えてみます。

地形モデルの作成方法
まずは、3Dの地形モデルの作成方法についてです。
地形モデルはLands Designを用いると、主に下記の方法で作成できます。
- 等高線・測量点から作成
- 地図ツールから範囲指定して読み込み
- GISデータから生成
- DEMデータから生成
それぞれの使い分けとしては下記が目安かと思います。
- ⇒ 既に等高線や測量点のデータがある場合や、架空の地形の場合
- ⇒ 実在のエリアが対象で、手軽さ重視、高精度を求めない場合
- ⇒ ArcGISなどを利用していてShapefileがある場合
- ⇒ DEMデータがある、または国土地理院の基盤地図情報を利用する場合など
「2.地図ツールから範囲指定して読み込み」は、これまでに何度か紹介しているため、そちらをご参照ください。
このページでは項目を分けて、
「1.等高線・測量点から作成」
「4.DEMデータから生成」
の方法を紹介します。
DEMデータから3D地形を作成
先に「4.DEMデータから生成」の方法をご紹介します。
【基盤地図情報をTIF画像に変換】
ここではサンプルとして、国土地理院の基盤地図情報ダウンロードサービス(https://fgd.gsi.go.jp/download/menu.php)の数値標高モデルを使います。

このダウンロードデータはXML形式となっており、そのままではLandsDesignに取り込めないのでTIF形式の画像に変換する必要があります。
基盤地図情報の使用方法、TIFへの変換方法は下記サイトが詳しいので、具体的な手順はこちらのページをぜひご参照ください。
(参考)
基盤地図情報(数値標高モデル)で陰影起伏図を作成しQGISで表示する方法を画像で解説:https://lemulus.me/trygis/fgd-dem
上記ページはQGISへの取り込み方法の解説ですが「数値標高モデルデータを変換する」の箇所まではLandsDesignでも同様です。
上記サイトに従うと「merge.tif」というTIF画像が得られますので、これが準備できたらLandsDesignを開きます。

【TIF画像から3D地形を作成】
Lands DesignがインストールされたRhinoを開きます。
メニューから「Lands Design > 地形作成 > DEMデータをインポート」を実行します。

「DEMデータをインポート」ダイアログが起動するので、
①準備した「merge.tif」を指定
②オブジェクトタイプをチェックボックスで選択
③マウスドラッグで範囲を指定
して、最後に「インポート」をクリックします。

選択したオブジェクトタイプのモデルがRhinoにインポートされます。
▼DEMデータによる地形モデル完成イメージ

オブジェクトタイプの違いは、それぞれ以下の通りです。
- 等高線 → 地形の輪郭線
- メッシュ → 厚みのない地形表面のメッシュ
- 地形 → LandsDesignのコマンドで造成可能な厚みのある地形オブジェクト
DEMデータから3Dの地形モデルを作成する方法は以上です。
地形オブジェクトとしてインポートすれば、LandsDesignコマンドで引き続き、切土・盛土などの造成処理が行えます。
等高線・測量点から地形モデルを作成
次に「①等高線・測量点から作成」の方法をご紹介します。
以下のような2Dの等高線データがあるとします。
contour.3dm(クリックでデータをダウンロードできます)

【2Dの等高線曲線を3次元化】
[等高線を3次元化]コマンドを実行します。

等高線の数値に合わせて、「開始高さ」「等高線間隔」を指定し、
3次元化を適用する範囲を線で指定します(線の始点が開始高さになります)。

「適用」を実行すると、指定した線と交差した等高線が3次元化されます。

1回では交差しない曲線もあるので[等高線を3次元化]コマンドを繰り返して、等高線の数値情報と矛盾がないように高さを調整します。
位置によっては高い側から指定した方がやりやすい場合もあるので、その場合は、開始高さを上限側の数値にし、等高線間隔をマイナスにすることもできます。
測量点の点オブジェクトがある場合については、ガムボールなどで高さ方向に移動します。
▼調整後

また、曲線や点に、高さの属性情報(名前やレイヤ、KeyValueなどを利用)があらかじめ与えられていれば、上記作業はGrasshopperでの自動化も可能と思います。
【曲線や点を地形モデルに変換】
[地形]コマンドを実行します。

「地形を配置」ダイアログを設定します。
「三角メッシュのグリッドサーフェス」にチェックを入れ、X/Yセルサイズを等高線間隔を十分に解像できるサイズにします(ここでは「1m」とします)。
これらの設定は作成後にプロパティから変更も可能です。

「OK」→準備した曲線や点を選択→Enterで、地形オブジェクトが生成されます。
▼等高線から地形作成の完成イメージ

等高線から3Dの地形モデルを作成する方法は以上です。
次のページでは、Grasshopperを使って3D地形モデルを板を積み重ねたようなコンタ模型モデルに変換し、型紙を出力する例を見ていきたいと思います。
→ Lands Design×Grasshopper×OpenNestによる3D地形とコンタ模型モデルの作成(コンタ模型編)