点云到 STL 文件

3D打印 软件 3d模型
2021-05-16 13:36:35

我有一个朋友要求我打印密歇根湖的水深测量作为她的博士导师的礼物。我去了美国国家海洋和大气管理局,该网站有一些密歇根湖水深测量的文件。

文件和类型位于此处:http : //www.ngdc.noaa.gov/mgg/greatlakes/michigan.html

我正在尝试将其转换为 STL 文件以在我的 3D 打印机中打印,但是我无法将其转换为可以使用的网格。我已尝试使用列出的不同文件的多种方法,但似乎无法将其正确转换为网格。到目前为止,我已经尝试了以下方法:

- 将 .xyz 文件导入 MeshLab 以将其转换为 STL。导入后,它看起来没有导入任何内容,我无法在文件中导航

- 将 ASC 文件导入 MeshLab 以将其转换为 STL。导入后,我没有收到任何错误,但输出是一个长而细的网格,看起来一点也不像密歇根湖

- 只是为了测试,我将 .xyz 文件导入 Autodesk ReCap 只是为了看看会发生什么。我注意到这些点位于类似于 ASC 导入的细长区域,但当我浏览时,我注意到每一层点都是实际的测深轮廓。

除了这些,我尝试了多种方法和软件,但似乎无法将文件转换为可打印的网格,我可以操纵该网格发送到我的 3D 打印机。

3个回答

为了正确地从点云中获取 STL 文件,您需要一些工具来帮助对点进行三角测量以创建合适的向量。在 STL 中创建的外壳是切片引擎将“切片”的。

我不太熟悉 MeshLab 的全部潜力,但我认为这个工具最适合至少已经有大部分 shell 的文件。本质上最适合修复 STL。

过去,我使用过(非常昂贵的)Unigraphics NX8。这个 CAD/CAM 软件非常强大,并且具有从点云创建网格的工具。我相信过去是缝纫工具让我能够做到这一点(我不再能够访问该软件)。SolidWorks、Rhino、AutoCAD 等其他 CAD 程序可能具有类似的功能。

或者,我认为您似乎可以在 SketchUp 中转换 3D 点云。如果云是按高度分层的,并且每一层都有位于同一 -Z- 平面上的点,那么您可能能够在同一平面上的最近点之间自动创建线。然后可能只需要一点点体力劳动来“修复”模型以准备好 3D 打印。另请查看此论坛帖子,看起来有人在转换地形点云方面很幸运。

完全替代,您是否考虑过将图像转换为 STL?我以前做过很多次,结果很好。如果你能找到湖泊的地形图,你可以将图像更改为灰度(稍微玩一下)。然后使用软件将灰度图像转换为STL。

我能够从您发布的链接下载文件集,尽管我没有使用任何网格文件,因为它们似乎不适合此任务。然后使用Spatial Manager的试用版将形状文件导入到 AutoCAD 中

生成的图形表明它是 3D 的。选择 3D 轨道工具后,图像会旋转平面图。

我保存了 AutoCAD DWG 文件并使用 SketchUp 将其导入,表面上这不是处理此类事情的最智能程序。结果是平面图像,而不是 3D 图像。

我怀疑生成的平面图是图像,不能 3D 打印,除非您有理由不相信。

在此处输入图片说明

您可以使用 MATLAB 或 Octave(MATLAB 的开源版本)执行此操作。我现在正在这样做是为了打印一个具有夸张地形和水深测量的地球仪。MATLAB 有大量用于导入数据的工具。我确定您可以导入密歇根湖测深数据,但您可能需要在 MATLAB 交换中寻找导入脚本。

只要您可以将数据导入为 X、Y 和 Z 值的二维矩阵,您就可以使用surf2stl()Bill McDonald 提供函数,可在此处获得:

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

这将创建一个您可以使用的 STL。请注意,它只是一个表面,因此您需要以其他方式赋予它深度,以便您的打印对象不会像纸一样薄。