公開日:2022年10月5日
都市データでやってみた ①

PLATEAU [プラトー] のデータを3Dプリントしてみた


今回の完成イメージ
今回の完成イメージ

はじめに

今回は、都市の3Dデータ化で注目の PLATEAU [プラトー] で公開されている都市データを3Dプリンタで出力してみようということをやってみたいと思います。また、その作業の手順をできるかぎりお送りいたします。

PLATEAU はシミュレーションでのデータ活用でディスプレイ上で幅広く活躍していますが、今回は、データを実空間に出力して、手に取ってみたり、卓上で俯瞰してみたりと、ひと味違うデータの活用や楽しみ方ができるのではないかなと思い、トライしてみました。
ちなみに今回は、3Dモデルの編集に「Blender」3Dモデルの出力に必要なスライサーソフトに「Cura」をそれぞれ利用しました。
それぞれ無料で提供されていますので、ぜひご興味ある方はダウンロードしてご利用ください。

blender.org - Home of the Blender project - Free and Open 3D Creation Software
Ultimaker Cura:強力で使いやすい3Dプリントソフトウェア | Ultimaker

それでは、やってみましょう!

※本記事では国土交通省 PLATEAU の3Dモデルデータを利用し、改変・出力を行っています。
※本記事では作業に Mac(macOS)を利用しています。

都市データのダウンロードと確認

まずは都市データのダウンロードをしてみましょう。

手順

ページ内から「23区」をクリック

クリックすると「G空間情報センター」のページへ移動します。

ページ内の項目「OBJ」項目の「詳細」をクリックし、「ダウンロード」を選択

建築物、橋梁、道路、地形及び構築範囲図(PDF形式)のデータです。
ファイルサイズは約 2.1GB です。 更新情報 2022年4月1日(本記事公開時点)

ダウンロードデータを確認し、圧縮ファイル解凍展開後、
「データ構築範囲索引図(13100_indexmap_op.pdf)」を確認

該当の区域番号をメモしておくとファイル検索などに便利です。
今回は都庁周辺を利用「53394525」

フォルダ「dem」「bldg」より、該当番号のOBJファイル(.obj)を確認

「bldg」は「LOD1」「LOD2」の各フォルダ内のデータを使用します。
「dem」は標高データ、「bldg」は建物データ、「LOD1」「LOD2」は建物形状の詳細レベルを表しています。
「LOD2」の方が「LOD1」と比較し建物形状が高精細です。

OBJファイル読み込みとSTLファイル書き出し

ここからは Blender と Cura での作業となります。
ここでは、提供されているOBJ形式で読み込んだ複数の都市データをひとつにまとめ、STL形式に変換する作業を行います。

手順
Blender 起動
Blenderアイコン

メニューバー「ファイル」から「インポート」→「Wavefront(.obj)」を選択

ダイアログボックスより該当のファイルを選択し、「OBJをインポート」ボタンをクリック

「dem」と「bldg」の「LOD1」「LOD2」の3つのファイルを読み込む。
モデルは表示されないが、シーンコレクションのパネルにファイル名が表示される。

この状態で「ファイル」→「エクスポート」→「stl」を選択し、保存先指定、ファイル名をつけて保存

スライサーソフトでの作業

続いて、一度書き出したSTLファイルを一度スライサーソフトで読み込み、再度STL形式に書き出すことをします。
この作業をしないと、Blender での編集作業ができないので、ひと手間ですが実行します。
今回は Cura を使用しています。

手順
Cura 起動
Curaアイコン

「ファイル」→「ファイルを開く」→ダイアログで「すべてのサポートのタイプ」を選択、
該当のSTLファイルを選択し、「Open」をクリック。

読み込まれたそのままの状態で「ファイル」→「エクスポート」を選択

形式を「STL(ASCII)」を選択し、保存

これで編集のためのデータができました。
このSTLファイルをこの後、再度 Blender に読み込み、編集します。

データ読み込みとサイズ調整

手順
Blender 起動

メニューバー「ファイル」→「インポート」→「Stl(.stl)」を選択

先の作業でエクスポートしたファイルを選択

読み込まれたモデルサイズが大きいため、読み込み直後は表示されない(見えていない)と思います。
そこでモデルのサイズを調整していきます。

シーンコレクションパレットにファイル名が表示されていることを確認。
選択されている状態で「トランスフォーム」内「スケール」の「X」「Y」「Z」をそれぞれ「0.050」に変更

モデルが出現しますが、モデルが縦に配置されているので、モデルを回転します。

「トランスフォーム」の「回転」の「X」を「-90°」に変更

ここまでうまくいったら、ここまでの結果を保存しておきましょう。
保存できたら、今回はさらに、この区画の部分を切り取り(トリミング)してみたいと思います。

トリミング用のファイルを別名保存しましょう。

「ファイル」から「名前をつけて保存...」を選択し、別名をつけて保存

必要部分以外の削除(モデルのトリミング)

今回は、さらにプリントしたい部分だけを切り取る作業をご紹介します。
編集しない場合は→「土台作り」の項目へ

手順
「オブジェクト」モードで「追加」から「メッシュ」→「立方体」を選択

「トランスフォーム」の「スケール」を変更

ここでは「X」、「Y」、「Z」ともにそれぞれ任意で入力しています。
入力数値はそのモデルや目的によります。

「トランスフォーム」の「位置」で変更

立方体をプリントされる部分が隠れるように移動。

「シーンコレクション」パレットにて「保存したファイル名のモデル」を選択

パレット内のスパナのアイコンをクリックし、「モディファイヤーを追加」をクリック

項目「生成」より「ブーリアン」を選択

パレット内「交差」を選択

パレット内「オブジェクト」で「立方体」を選択

パレット内「ソルバー」で「高速」を選択

画像を確認しながらパレット内「適応」を選択

シーンコレクションより「立方体」を選択し、削除

保存

余分な辺の削除と建物データ側面の追加

モディファイアー結果により、余分な辺や建物の側面に穴(面の欠如)ができてしまう場合があります。
この状態で進めると、3Dプリントの際にエラーの原因になるので、余分な部分の削除や面の追加を行います。

辺の削除
手順
「オブジェクトモード」から「編集モード」に切り替え

右のボタンより「辺選択モード」をクリック

削除したい辺をクリック

複数ある場合は shift キーを押しながら追加でクリック。

選択された状態で右クリックし、項目「辺を削除」を選択
面の追加
手順
「オブジェクトモード」から「編集モード」に切り替え

右のボタンより「辺選択モード」をクリック

キーボードの option キーを押しながら、側面がない部分の辺をクリック

その側面の外周が選択されます。

キーボードの「F」キーを押す

面が追加されます。
キーボードでのショートカットをする場合は、入力モードに注意しましょう。

土台作り

3Dデータ編集の最後の作業です。
読み込み時には存在していない土台となる部分を追加していきます。
まずは底辺になる平面を作り、地形データとつないでいきます。

ここでは、作業の都合上、あらかじめモデルの中心が原点付近にあるように移動させてあります。
さらにモデルが原点より浮いて見えるようZ軸を調整しました。(この距離が土台の厚みになります。
モデル移動の紹介は割愛します。

①平面(底面)作り
手順
「オブジェクト」モードで「追加」→「メッシュ」→「平面」を選択

「トランスフォーム」の「スケール」をそれぞれ変更

入力数値はモデルによるので、平面は地形モデルより少しはみ出す程度をイメージしてください。

②土台作り
手順
「シーンコレクション」より「読み込んだデータ」と「平面」を選択

2つ選ばれた状態で「オブジェクト」→「統合」を選択

「オブジェクト」モードを「編集」モードに変更

「辺選択モード」をクリック

地面に該当するメッシュの辺を選択

キーボードの controlキー(Macの場合)を押しながら、地面に該当するメッシュの端の辺を選択します。
地面1辺が終わるまで繰り返します。

選択作業の途中も1作業として記録されています。こまめな保存しておきましょう。
選択中、地形の内側が選択されないようにしましょう。(回り込んでしまったら「やり直す」機能も活用

辺ができたら最後にキーボードの shift キーを押しながら、下(Z方向)にある平面の辺を選択

メニュー「頂点」→「頂点から新規辺/面作成」(もしくはキーボードの F キーを押す)を選択

土台部分の側面ができます。

各面(全4面分)を作成

完成したら保存

STLファイルの書き出し

STLファイルを書き出しましょう。

手順
「オブジェクトモード」に切り替え→「ファイル」→「エクスポート」→「Stl(.stl)」を選択

任意の場所に任意の名前でエクスポートする

Blender で作業した、土台付きファイルをSTLファイルとして書き出しできました。

スライサーソフトでの読み込み(Cura 5.1.0の場合)

3Dプリント用のデータ準備の最終段階として、3Dプリンタで出力するためのファイル(gcodeファイル)を作成します。

手順
Cura を起動し、ファイルメニューから「ファイルを開く」を選択

作成したSTLファイルを選択

プリントのサイズなどを設定

「スライス」ボタンをクリックし、プレビューで出力設定の確認し、
問題なければ「ディスクに保存する」をクリック

3Dプリンタにデータを読み込ませ出力
出力中

今回3Dプリンタは「Anycubic i3 Mega」で「PLAフィラメント」を使用しました。
各設定や操作は割愛します。

完成!

完成しました!(出力時間は約6時間)

部分完成

ちなみに下は区画全体を出力したもの
各モデルともに、幅が12cmくらいに設定しています。
出力設定については、モデルや素材に合わせていろいろと工夫が必要ですね。

出力全体

さいごに

さて、いかがだったでしょうか?
作業の紹介がメインでしたので、やることが多く感じられたかもしれませんね。
基本操作に慣れてしまえば、数分で3Dプリンタ出力のためのモデル準備ができると思います。

今回は提供されているデータの区域をさらに任意の部分をトリミングして出力してみました。
区域を丸ごと出力するだけでなく、トリミングにより出力範囲を変更することもできるので、必要な部分を切り出すことでさまざまな用途に活用できそうです。

これだけのデータが提供され、扱えるなんて、可能性を感じますね。
身近な環境やお気に入りの土地や都市などあれば、チャレンジしてみてはいかがでしょうか。
PLATEAU [プラトー] 、これからも要チェックです。

最後までお読みいただきありがとうございました。

製品紹介

当社が開発した、GNSS(全球測位衛星システム)を利用したIoT対応センチメートル級位置情報サービス「iChidori®」です。デバイス等の詳しい紹介はこちらよりご覧ください。

iChidoriバナー