如何修复3D打印用模型文件?
不知道您有没有遇见过这样的情况:好不容易设计好的3D文件,一加载到3D打印机机控软件里就报错?别着急,这回魔猴网要给大家介绍三个免费好用的3D文件修复工具,它们能帮助我们快速修复有问题的3D模型。推荐大家先下载并安装这两个软件,然后接着往下看。
DAYINCMS
DAYINCMS的在线工具,能对3D模型进行自动检测,甚至自动修复。使用非常简单,来到云打印页面,上传模型后,即可得到3D模型的检测信息,如果需要对模型进行修复,可到3D工具>自动修复,按照网页提示,自动完成修复,这个适合一些相对简单的错误,并不能做到100%修复,如果DAYINCMS的在线修复没有解决,可以尝试使用下面的几个软件;
Meshlab:
Meshlab可以打开和导出一些Netfabb不能处理的3D文件,并将它们转换和导出成各种其他格式的3D文件,因此我们先来介绍它。
1. 导出合适格式的3D文件
在进行单色3D打印时,我们推荐采用STL或者OBJ格式的3D文件,这两种格式应该是所有的3D打印机,不论是桌面型还是工业型都能够支持的。而DAE、X3D、X3DB、WRL等格式也有很多3D打印机可以支持。
而在进行全彩砂岩3D打印的时候,则最好采用DAE、WRL、X3D、X3DB或者X3D格式的3D文件。
如果你的文件格式不在这几个被3D打印机支持的格式列表里,请尝试用meshlab打开你的3D文件,然后导出成以上格式之一。
注:Meshlab支持打开和导入的3D文件格式有: PLY, STL, OFF, OBJ, 3DS, COLLADA, PTX, V3D, PTS, APTS, XYZ, GTS, TRI, ASC, X3D, X3DV, VRML, ALN
2. 导出合适大小的3D文件
另外,3D打印云服务只接受小于64M,少于1,000,000个三角面的3D模型。如果您的3D文件过大,或者三角面数过多,请您使用Meshlab软件的“polygon reduction”(面数减少)功能来降低面数和文件大小。当然,您也不能减得过低,因为会影响模型质量,同一模型不同面数的效果图
如下:
(图片源:shapeways)
在meshlab中减少面数的步骤是:
从菜单栏(menu)选择Filters > Remeshing, simplification and construction > Quadratic Edge Collapse Detection。 你会看到下图所示的选项框。如果你的模型是带有材质和颜色的,那么记得选Quadratic Edge Collapse Detection(with texture)来保持材质和颜色在3D模型上对应的位置。下面我来解释一下这个选项框里的各项的含义。
Target number of faces(目标面数)---你想要最终将模型减少至____个面
Percentage reduction(减少百分比)---填写介于0~1之间的数值
以上两项二选一填写即可。
Quality threshold(质量阈值):Preserve Boundary of the mesh(保留网格边界)输入一个介于0~1的值;值越高,meshlab越努力保持住你的原始模型的外形,因此推荐保持默认的最高值1
Preserve Normal (保留法线方向):建议勾选。勾选上之后meshlab就不会不小心弄反模型中有些面的发现方向了。
注意:如果你发现模型的法线确实有问题了,可以选择Filter>Normals, Curvature and Orientation > Re-Orient all faces coherently来将模型的法线修复正常。(注意,只对流性(manifold)模型管用)。
Preserve Topology (保留拓扑结构)在处理模型时尽量不改变模型的拓扑结构。
Optimal position of simplified vertices(保持简化顶点处于最佳位置):建议勾选。
Planar simplification(平面简化):建议勾选
Post-simplification cleaning (简化后清理):建议勾选
Simplify only selected faces (只简化选中的面):如果你想简化整个模型,就不要选这一项了。
都选择好了以后,点击Apply(应用),就可以了。
Meshlab还能用来查看全彩3D模型的材质和颜色。当你打开一个已经有了UV材质的3D模型文件时,meshlab应该能够自动加载文件材质和颜色。
Netfabb
Netfabb是3D打印圈里使用最普遍的免费STL文件编辑和修复软件。因为它对接3D打印的功能比较全面。
1. 能够查看一个3D模型的真实物理大小。
很多3D软件都不支持查看模型真实的物理大小,你在屏幕上觉得有书桌大小的模型很可能打印出来只有手指大,所以建议大家在3D打印前一定要仔细检查好模型的真实大小。
2. 能够检查出一个STL文件中是否存在3D打印缺陷。
在一个数字化的3D模型中往往存在3个元素,点(vertices),线(edges)和面(faces)。而为了3D打印,这些点线面必须组成流型(manifold)的几何构型。一个3D文件是流型的,说明它的每一条线都之和2个面相连接。而当非流型的几何构型出现在3D模型中,3D打印机在读入这个模型的时候就会出错。关于非流型和非水密的问题,请阅读如何做3D打印设计。
3. 能够自动修复有问题的3D模型
步骤:选中模型,点击屏幕右上角的红色加号,点击automatic repair, 点击default repair,点击yes,右键点击修复的模型,选择export part,选择 as STL.
经netfabb修复后,通常会解决以下问题。
零孔洞:模型将会呈现流型(manifold),面和线之间不再有缝隙孔洞
零界线:界线指的是处于孔洞一边的线,它只连接到1个面上
零反向法线:Netfabb能够识别法线向里的面,将它显示成红色。修复后红色面将消失,变成代表正确法线方向的绿色。
准确的体积:如果3D模型有的面法线反了,导致表示内面的红色面朝向了外面,那么在计算体积的时候,打印机会认为这个面以外的所有东西都是模型内部,会出错。
闭合的表面:水密的3D模型,支持3D打印。
注意:尽管Netfabb的修复工具大多数时候很好用,但是它也还是有可能会出错的。所以你在提交3D打印文件之前请仔细做好检查,最重要的是检查用netfabb修复过的文件是否误将不该封住的口封住了,不该删除的几何结构删除了。