MeshMixerを使った立体地図の手順についてまとめておく。特に「海面」を含む場合は手順が多くなってくる。
標高データのダウンロード | 国土地理院のページ(5mメッシュ、10mメッシュ) |
FDGV | 1) 基盤地図情報閲覧コンバートソフト(国土地理院) 2) xmlファイルを読み込んで、シェープファイル(xyz)へエクスポート |
Rapidform XOM | 1) XYZファイルを読み込み2)メッシュ化する。3)STLファイルとして書き出す |
netfabb | 1)大きさの変更2)位置の補正3)標高の倍率設定 |
MeshMixer | 1)STL読み込み2)修復3)厚みづけ4)STL書き出し ー> 3Dプリントへ |
netfabb | 海面部分を含むデータには下部にBoxを追加1)STL地図データ読み込み2)BOX追加3)位置合わせ4)BOXデータをSTL書き出し |
MeshMixer | 1)立体地図データ読み込む2)BOXデータ読み込む3)合成(Conbine)4)STLで書き出し -> 3Dプリントへ |
3Dプリント | 標高のデータを、2倍~5倍程度に拡大したほうが立体感が出やすい。 |
国土地理院からダウンロードしたデータを「FGDV」で「XYZファイル」として書き出すまでは同じ。
このデータを「Rapidform XOM」で読み込む前に、Excel-VBAで変換していたが直接読み込む方法があった。
File -> 開く でXYZファイルを指定し、ダイアログ下部の「ASCII変換を使用」にチェックを入れる
データのサイズが大きい場合には、カスタム設定の中の「サンプリング比率」を指定するとあとが動作が軽くなる。
「開く」をクリックすると「ASCII変換」のダイアログ。X座標とY座標を入れ替え、先頭のIDは無視するように設定して「OK」をクリックする。
読み込み、メッシュ変換して、サーフェーイスデータのみをSTLで書き出す。
MeshMixerは日本語ファイル名はNGなのでファイル名とフォルダは半角英数で指定する。
netfabb でデータを読み込む。 データエラーを示す「!」が表示されるが、ここでは修正(リペア)しない。
まず「part 」 -> 「Scale」で全体の大きさを変更
もう一度「part 」 -> 「Scale」で、今度は標高値のみを拡大(立体感を出すため)
地図データの位置が原点からずれているので、「part」 -> 「Move」から修正する。
データが画面から見えなくなってしまう場合も多いが位置データは補正されている。そのままSTLで保存する。
保存したデータをMeshMixerでインポートし、リペアする。
この時「Auto Repair All」とするとハングアップしてしまうことが多いので、マーカーを一つづつクリックして修正していく。
リペアできたら、全てを選択して押し出す。この時、押し出した面が水平面と平行にならない場合があるがそのままでOK
Edit ->Plane Cut を実行して、ある程度の厚みを残したまま水平面に対して平行にカットする。
カットを行ったあ再び穴が開いてしまう場合もあるので、必要ならリペアしSTLで書き出す。
厚み付して書き出したSTLファイルを、再びnetfabbで読み込む。ここでもエラーが出ていてもリペアしない。
下部のボックスを追加するために大きさを確認してメモしておく。
Edit -> Create Priniteves からBoxを選択し、大きさを設定。
Edit -> Move からZ方向の数値を少しづつ入力し位置を合わせる。このBOX面が海面となる。
Boxデータを選択状態にしてSTLファイルとして書き出す。
再びMeshMixerで地図データとBOXデータを2つとも読み込み、合成、STLとして書き出す。
3Dプリンタに対応した変換ソフトへ読み込み処理する。