<p>You can do this using MATLAB, or possibly Octave (the open-source version of MATLAB). I'm doing this right now to print a globe with exaggerated topography and bathymetry. MATLAB has tons of tools for importing data. I'm sure you can import the Lake Michigan bathymetry data, though you may have to hunt for an importing script on the MATLAB exchange. </p>

<p>As long as you can get your data imported as a 2D matrix of X, Y and Z values, you can use the <code>surf2stl()</code> function by Bill McDonald, available here: </p>

<p><a href="https://www.mathworks.com/matlabcentral/fileexchange/4512-surf2stl" rel="nofollow noreferrer">https://www.mathworks.com/matlabcentral/fileexchange/4512-surf2stl</a></p>

<p>This creates an STL you can use. Note that it's just a surface, so you'll need to give it depth some other way so your printed object isn't paper-thin. </p>

CC BY-SA 4.0
2018-11-10T06:43:23.737Z
2018-11-10T06:43:23.737Z
jvriesem
<p>I was able to download the file collection from the link you posted, although I used none of the Grid files, as they seemed inappropriate to this task. The shape files were then imported into AutoCAD using the trial version of  <a href="http://www.spatialmanager.com/spm-forautocad/" rel="nofollow noreferrer">Spatial Manager</a>.</p>

<p>The resulting drawing indicates that it's in 3D. When the 3D orbit tool is selected, the image rotates a flat drawing.</p>

<p>I saved the AutoCAD DWG file and imported it with SketchUp, ostensibly not the smartest program for this sort of thing. The result was a flat image, not a 3D one.</p>

<p>I suspect that the resulting flat drawing IS the image and cannot be 3D printed, unless you have reason to believe otherwise.</p>

<p><a href="https://i.sstatic.net/guL1k.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/guL1k.png" alt="enter image description here"></a></p>

CC BY-SA 3.0
2016-03-09T14:26:21.353Z
2016-03-09T14:26:21.353Z
fred_dot_u
<p>In order to properly get an STL file out of a point cloud, you'll need some tool to help triangulate the points to create proper shell surfaces. The shell that is created in an STL is what the slicing engine will &quot;slice&quot;.</p>
<p>I'm not as familiar with the full potential of MeshLab, but I would think this tool is best suited for files that at least have most of shell already in place. Essentially best for fixing STL's.</p>
<p>In the past, I've used (the very expensive) Unigraphics NX8. This CAD/CAM software is very powerful and has tools for creating meshes out of point clouds. I believe it was the <a href="https://www.google.com/?gws_rd=ssl#q=unigraphics%20nx8%20sew" rel="nofollow noreferrer">sew tool</a> that allowed me to do this in the past (I no longer have access to the software). Other CAD programs such as SolidWorks, Rhino, AutoCAD, etc. might have similar features.</p>
<p>Alternatively, I think it looks like you might be able to convert a 3D point cloud in SketchUp. If the cloud is layered by height and each layer had points on the same -Z- plane, then you might be able to automate creating lines between the nearest points on the same plane. Then it might just take a little bit of manual labor to &quot;fix&quot; the model to become 3D printing ready. Also check out <a href="http://sketchucation.com/forums/viewtopic.php?f=79&amp;t=56135" rel="nofollow noreferrer">this forum post</a>, it looks like someone had luck in converting terrain point clouds.</p>
<p>Completely alternatively, have you considered converting an image to STL? I've done this many times before and it turns out quite nicely. If you can find topographical map of the lake, you could alter the image into grayscale (play with it a bit). Then use <a href="http://www.thingiverse.com/thing:66115" rel="nofollow noreferrer">software</a> to convert the grayscale image to STL.</p>

CC BY-SA 3.0
2016-03-09T16:09:16.147Z
Thanks TBM! I'll check into these tonight and let you know. I appreciate you giving a little bit of background as well.
Jonathan Littleton
CC BY-SA 3.0
2016-03-09T16:14:31.217Z
No problem! Hope it helps. Please keep us updated on the project, it sounds like a cool print! It'd be nice to see how you end up getting this to work if you are able to convert the point cloud.
tbm0115
CC BY-SA 3.0
2016-03-10T15:43:09.353Z
Just an update.

I went through various methods last night and the links you provided and I tried "CloudCompare" to import the point cloud. It originally had the same issues as MeshLab until I realized that the z-axis is elongated for some reason on the import. I fixed this and I actually saw the bathymetry but had some odd noise on the land portion of the lake. I'll continue tonight and may revisit MeshLab now that I know the z-axis has that issue and how to fix it.
Jonathan Littleton
CC BY-SA 3.0
2016-03-11T02:44:56.383Z
You pointed me in the right direction. I used CloudCompare to import the cloud and then I rasterized the cloud and exported it to an STL file. Thanks for your help.
Jonathan Littleton
CC BY-SA 3.0
2016-03-11T20:32:37.767Z
So, was CloudCompare able to clean up the noise you found in the point cloud? Thanks for the update, I'll have to start looking into CloudCompare for future projects!
tbm0115
CC BY-SA 3.0
2016-03-13T21:22:03.410Z
I couldn't use the noise reduction feature as it would bomb my computer out. I got rid of a majority of the noise by cutting off the import at the shoreline. I then imported into MeshMixer to clean up what I could in  the leftover data.
Jonathan Littleton
CC BY-SA 4.0
2016-03-09T15:12:20.910Z
2022-08-02T16:46:36.407Z
2022-08-02T16:46:36.407Z
tbm0115
<p>I had a friend request that I print out the Bathymetry of Lake Michigan as a gift for her PhD adviser. I went to NOAA and the site had a few files for the Bathymetry of Lake Michigan.</p>

<p>Files and types are located here: <a href="http://www.ngdc.noaa.gov/mgg/greatlakes/michigan.html" rel="noreferrer">http://www.ngdc.noaa.gov/mgg/greatlakes/michigan.html</a> </p>

<p>I am trying to convert this into an STL file to print in my 3D printer however I am having no luck in converting this into a mesh I can use. I have tried multiple approaches with the different files that are listed but cannot seem to get it to properly convert to a mesh. I have tried the following so far:</p>

<p>-Import an .xyz file into MeshLab to convert it to an STL. After I import it looks like nothing imported and I can't navigate around in the file</p>

<p>-Import an ASC file into MeshLab to convert it to an STL. After I import it, I get no errors but the output is a long, thin mesh that looks nothing like lake Michigan</p>

<p>-Just for a test, I imported the .xyz file into Autodesk ReCap just to see what would happen. I noticed that the points were in a long thin area similar to the ASC import but as I browsed around I noticed that the each layer of dots was the actual Bathymetry contours.</p>

<p>I have tried multiple approaches and software beyond these but can't seem to get the files to convert into a printable mesh that I can manipulate to send to my 3D printer.</p>

CC BY-SA 4.0
2021-07-12T20:38:16.123Z
I took a quick look at the .xyz file. It seems to contain a grid of points overlaying the lake. They are in the format of Longitude, Latitude, Altitude, and are arranged in rows by Latitude. The northern most latitudes, 46.00-46.09 degrees, have NAN for altitudes. This probably broke most the software. The dataset extends from -88 to -84.5 long and 41.62 to 45.99 lat which nicely covers the lake https://c1.staticflickr.com/3/2682/4036834071_74d19b6327_b.jpg
Ron Jensen
CC BY-SA 3.0
2016-03-09T03:07:09.130Z
http://www.cadforum.cz/cadforum_en/how-to-convert-a-point-cloud-to-an-editable-3d-cad-model-mesh-tip9512
Kevin Morse
<software><3d-models>
Point Cloud to STL File
Jonathan Littleton
# Point Cloud to STL File

(Asked by: username_0 on 2016-03-09)

I had a friend request that I print out the Bathymetry of Lake Michigan as a gift for her PhD adviser. I went to NOAA and the site had a few files for the Bathymetry of Lake Michigan.

Files and types are located here: <http://www.ngdc.noaa.gov/mgg/greatlakes/michigan.html>

I am trying to convert this into an STL file to print in my 3D printer however I am having no luck in converting this into a mesh I can use. I have tried multiple approaches with the different files that are listed but cannot seem to get it to properly convert to a mesh. I have tried the following so far:

-Import an .xyz file into MeshLab to convert it to an STL. After I import it looks like nothing imported and I can't navigate around in the file

-Import an ASC file into MeshLab to convert it to an STL. After I import it, I get no errors but the output is a long, thin mesh that looks nothing like lake Michigan

-Just for a test, I imported the .xyz file into Autodesk ReCap just to see what would happen. I noticed that the points were in a long thin area similar to the ASC import but as I browsed around I noticed that the each layer of dots was the actual Bathymetry contours.

I have tried multiple approaches and software beyond these but can't seem to get the files to convert into a printable mesh that I can manipulate to send to my 3D printer.

**Tags:** software, 3d-models
> **Comments:**
> **username_2**: http://www.cadforum.cz/cadforum_en/how-to-convert-a-point-cloud-to-an-editable-3d-cad-model-mesh-tip9512  
> **username_1**: I took a quick look at the .xyz file. It seems to contain a grid of points overlaying the lake. They are in the format of Longitude, Latitude, Altitude, and are arranged in rows by Latitude. The northern most latitudes, 46.00-46.09 degrees, have NAN for altitudes. This probably broke most the software. The dataset extends from -88 to -84.5 long and 41.62 to 45.99 lat which nicely covers the lake https://c1.staticflickr.com/3/2682/4036834071_74d19b6327_b.jpg  

---

## 3 answers

### Answer by username_5 on 2016-03-09. Score: 4 | Accepted answer

In order to properly get an STL file out of a point cloud, you'll need some tool to help triangulate the points to create proper shell surfaces. The shell that is created in an STL is what the slicing engine will "slice".

I'm not as familiar with the full potential of MeshLab, but I would think this tool is best suited for files that at least have most of shell already in place. Essentially best for fixing STL's.

In the past, I've used (the very expensive) Unigraphics NX8. This CAD/CAM software is very powerful and has tools for creating meshes out of point clouds. I believe it was the [sew tool](https://www.google.com/?gws_rd=ssl#q=unigraphics%20nx8%20sew) that allowed me to do this in the past (I no longer have access to the software). Other CAD programs such as SolidWorks, Rhino, AutoCAD, etc. might have similar features.

Alternatively, I think it looks like you might be able to convert a 3D point cloud in SketchUp. If the cloud is layered by height and each layer had points on the same -Z- plane, then you might be able to automate creating lines between the nearest points on the same plane. Then it might just take a little bit of manual labor to "fix" the model to become 3D printing ready. Also check out [this forum post](http://sketchucation.com/forums/viewtopic.php?f=79&t=56135), it looks like someone had luck in converting terrain point clouds.

Completely alternatively, have you considered converting an image to STL? I've done this many times before and it turns out quite nicely. If you can find topographical map of the lake, you could alter the image into grayscale (play with it a bit). Then use [software](http://www.thingiverse.com/thing:66115) to convert the grayscale image to STL.

> **Comments:**
> **username_0**: Thanks TBM! I'll check into these tonight and let you know. I appreciate you giving a little bit of background as well.  
> **username_5**: No problem! Hope it helps. Please keep us updated on the project, it sounds like a cool print! It'd be nice to see how you end up getting this to work if you are able to convert the point cloud.  
> **username_0**: Just an update.  I went through various methods last night and the links you provided and I tried "CloudCompare" to import the point cloud. It originally had the same issues as MeshLab until I realized that the z-axis is elongated for some reason on the import. I fixed this and I actually saw the bathymetry but had some odd noise on the land portion of the lake. I'll continue tonight and may revisit MeshLab now that I know the z-axis has that issue and how to fix it.  
> **username_0**: You pointed me in the right direction. I used CloudCompare to import the cloud and then I rasterized the cloud and exported it to an STL file. Thanks for your help.  
> **username_5**: So, was CloudCompare able to clean up the noise you found in the point cloud? Thanks for the update, I'll have to start looking into CloudCompare for future projects!  
> **username_0**: I couldn't use the noise reduction feature as it would bomb my computer out. I got rid of a majority of the noise by cutting off the import at the shoreline. I then imported into MeshMixer to clean up what I could in  the leftover data.  

---

### Answer by username_4 on 2016-03-09. Score: 1

I was able to download the file collection from the link you posted, although I used none of the Grid files, as they seemed inappropriate to this task. The shape files were then imported into AutoCAD using the trial version of [Spatial Manager](http://www.spatialmanager.com/spm-forautocad/).

The resulting drawing indicates that it's in 3D. When the 3D orbit tool is selected, the image rotates a flat drawing.

I saved the AutoCAD DWG file and imported it with SketchUp, ostensibly not the smartest program for this sort of thing. The result was a flat image, not a 3D one.

I suspect that the resulting flat drawing IS the image and cannot be 3D printed, unless you have reason to believe otherwise.

[![enter image description here](https://i.sstatic.net/guL1k.png)](https://i.sstatic.net/guL1k.png)


---

### Answer by username_3 on 2018-11-10. Score: 0

You can do this using MATLAB, or possibly Octave (the open-source version of MATLAB). I'm doing this right now to print a globe with exaggerated topography and bathymetry. MATLAB has tons of tools for importing data. I'm sure you can import the Lake Michigan bathymetry data, though you may have to hunt for an importing script on the MATLAB exchange.

As long as you can get your data imported as a 2D matrix of X, Y and Z values, you can use the `surf2stl()` function by Bill McDonald, available here:

<https://www.mathworks.com/matlabcentral/fileexchange/4512-surf2stl>

This creates an STL you can use. Note that it's just a surface, so you'll need to give it depth some other way so your printed object isn't paper-thin.


---

