Point Cloud to STL File

  • 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.


  • tbm0115

    tbm0115 Correct answer

    7 years ago

    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 vectors. 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 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, 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 to convert the grayscale image to STL.


    Thanks TBM! I'll check into these tonight and let you know. I appreciate you giving a little bit of background as well.

    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.

    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.

    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.

    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!

    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.

License under CC-BY-SA with attribution


Content dated before 7/24/2021 11:53 AM