关闭

意见反馈/举报

反馈/举报信息:

联系方式:

3D打印STL转STP实用工具更新:更干净合理的拟合转换

上次和大家分享过一个我们自己开发然后也觉得挺好用的工具,STL转STP。

使用流量挺大,感谢读者认可支持。

3D打印宝藏免费实用工具分享:STL转STP!

6adebe9218d92.webp?auth_key=1792984474-856540-0-a27cbaa92ddb404e5889906f4d695800

当时想解决的,是做3D打印时一个很常见的麻烦,想改个孔、加厚一块底板,手里却只有STL。

都是小三角面,无从下手。

升阶,就是想把这些三角形重新认成平面、圆柱、圆角和曲面,拼回一个能在SolidWorks、Fusion、FreeCAD里继续修改的STEP零件。

打开网页就能用,不装软件,模型在本地转换,不上传任何服务器。

升阶1.6

 · 接着上次聊还是这批模型,1.3和1.6,各转一遍。

这次转出的STEP,少了多少个面?

模型1.31.6
带孔安装板1515
法兰轴套2416
沉头孔板6918
圆角支架17231
旋钮14030
车削花瓶253
凸轮353
等高线地形1,03358
扭纹花瓶1,136409
有机团块442
3DBenchy小船4,0522,486

简单件,还是原来的结果;复杂的那些,碎面少了不少。


工具发布以后,我们继续往下做。

从1.3到到现在的1.6,一直在琢磨同一件事。

转出来的文件,能不能再好改一点。

所以这次还是拿出同一批模型,用新老版本各转一遍。

从简单的平板到那只小船,有些结果提升有限,有些变化还挺明显。

而且我们还增加了手动修复功能,我们认为非常实用。

1.4版1.5版1.6版

一块块曲面片
自动并成大面

锯齿接缝
顺滑曲线

整圈一个面

沿用原来的设置,就能看到变化

1.6:碎面再合一合

识别完成后,相邻曲面再合并一次;面之间的锯齿接缝,也尽量理顺;绕一整圈的面,合起来算一个。

转出来的花瓶、旋钮

推出来的凸轮、地形

自己动手修
点选、合并

1.5.2:点选几块大面,还能再合成一张

1.5:花瓶这类,也能认了

轮廓转一圈,或沿一个方向推出来,

花瓶、凸轮、地形,常有这样的面。这版也加了修复面板,没认好的,可以自己选中,再修一修。

1.4版1.5版1.6版

倒角→ 锥面

沉头孔→ 锥面

圆角→ 环面、球面

转换前提醒单位,导出前再多查一遍

1.4:补上倒角和圆角

倒角、沉头孔、根部和交汇处的圆角,以前往往要用几块曲面片来拼;这次能认成CAD里的锥面、环面、球面,选中完整的面,改起来方便些。


这里先解释一下,为什么我们一直在数面。


拿倒角来说,如果它在CAD里是一个完整的面,选中以后,改大小、删掉重做,都容易一些。


可同一个倒角要是碎成十几块小补丁,光选面就得费一番工夫。


我们希望转出来的面尽量接近原来设计时的样子,也是为了让后面改图的人少折腾一点。

第一问 先看看最常用的安装板效果不错

先从简单的来。一块带圆角和安装孔的板子,老版本1.3就能转出15个面:6个平面、4个圆角、5个孔,一个不差。

换到1.6,结果还是这15个面,一秒钟之内就出来了。

这类零件原本转得不错,继续照常用就好。

6adebe9274927.webp?auth_key=1792984474-492683-0-607e3e48528bb306173eaa1e6745e2bb图注:还是那块带孔安装板,一种颜色代表一个面。1.3已经能完整识别,1.6的结果也一样。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

不过,导入时多了一个小提醒。

以前要自己留意,现在遇到尺寸不太对劲的模型,工具会提醒你检查单位,也可以直接点一下改过来。

6adebe92bd030.webp?auth_key=1792984474-749429-0-40010d40e71a895b1f439eec78e84bce图注:这个零件按米导出,按毫米读进来只有0.08毫米宽。提示旁边就是改用米的按钮。图源:升阶 STLSTPAscender 1.6 界面截图(AMEDAO)

碰到太大的模型,会在开始时提醒先减面,尽量避免卡住。

第二问 倒角和沉头孔也能胜任

接着看倒角、沉头孔,还有凸台根部的圆角。

这些地方在CAD里分别是锥面和环面,老版本还认不出来,只能用几块曲面补丁拼出形状。

看着像那么回事,真要改尺寸就不太方便。后面我们把这部分补了进去。

还是拿法兰轴套来试。这个零件先在CAD里画好,再导出成STL,原图一共16个面。

老版本转回来是24个面,多出来的主要在凸台顶上的倒角和根部圆角。

换成新版本,结果回到了16个面,倒角认成锥面,根部圆角认成环面,面数和面的种类都对上了。

6adebe932a3bf.webp?auth_key=1792984475-607487-0-48392743376164b92ab5ea1cd1c095d2图注:看法兰轴套的倒角和根部圆角。1.3里还是绿色的曲面补丁,1.6里已经是紫色的锥面和环面,一处一个面。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

沉头孔的差别更容易看出来。

这块板子是用最粗的设置导出的,一个沉头孔只有几十个三角形。

1.3把每个孔拆成十几块,整块板子有69个面,还剩10小块没认出来。

到了1.6,一个沉头孔认成一个面,整件18个面,也和原来的CAD模型对上了。

6adebe9383544.webp?auth_key=1792984475-2963-0-ad668f8e972f8a74ac8b8d3c4bc7bbdf图注:同一个沉头孔,对比1.3和1.6,孔壁上的分界线少了。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

想把倒角改大一点,或把沉头孔改成普通通孔时,这个变化就用得上了。

到了CAD里,能先选中一个完整的面,后续修改会方便不少。

第三问 圆角交汇的地方表现明显提升

先看看支架的交汇角。

三条圆角在这里碰到一起,中间其实是一小块球面。网格粗的时候,这个位置不太好认。

老版本转完,侧面和圆角还留着不少小三角形,界面上显示为黄色的面片。

整个零件172个面,其中140个都是这样的面片。

6adebe93e30e1.webp?auth_key=1792984476-44424-0-2a322491ce9f611cd6818940462a7c56图注:放大看支架的一个角。1.3里黄色的是没认出的三角形;1.6里,蓝色是圆角的圆柱面,紫色是交汇处的球面。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

这次新版本再转,剩下31个面:6个平面、12条圆角、5个孔,还有8个角上的球面,没有留下未识别的面片。

我们又拿原来的CAD模型核对了一遍,正好也是这31个面。

6adebe94556dd.webp?auth_key=1792984476-483825-0-d9e8b098dca2907e76749da48c602fb0图注:拉远看整个支架,1.3和1.6的区别就更清楚了。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

第四问 添加修复功能!

看过初版介绍的读者,可能还记得那只旋钮。

球形的顶、一圈凸棱,下面是一段带竖纹的柱身。

用老版本转换,它有140个面,柱身被分成一条条,顶和凸棱也拆得比较碎。

新版转下来是30个面,大部分已经连成整片。

6adebe94b5443.webp?auth_key=1792984476-839883-0-361e8e38827b3233877d7965765ed4eb图注:同一只旋钮,1.3和1.6的结果。可以先看球顶和凸棱,再看下面的柱身。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

但还有6个小三角形没认出来,藏在竖纹顶上,占表面积的0.2%。这点面积不大,看着却总觉得还差一点。

这里我们又更新了一个我们认为非常重要的功能!

到右侧栏找到修复面,就能接着处理。

拿这个旋钮来说,先点全部面片,把6个三角形一起选中,再把拟合类型选成平面,点应用就可以。

6adebe950cfea.webp?auth_key=1792984477-767523-0-166d86eefb9e2371dc66a094c6c33391图注:修复面板里,先选全部面片。这里选中了6个面,拟合类型选平面。图源:升阶 STLSTPAscender 1.6 界面截图(AMEDAO)

不到1秒,结果就从橙色的有提示,变成了绿色的已验证的实体。

前面自动识别好的结果会保留下来,不用为了修这几小块,把整个模型从头再转一遍。

6adebe9552b13.webp?auth_key=1792984477-448898-0-8786b6bd4b7fe8f3e1984fd81050cd6f图注:修之前和修之后的导出面板,修完后已经变绿。图源:升阶 STLSTPAscender 1.6 界面截图(AMEDAO)

如果碰到的情况更复杂,也可以在3D视图里点选面,或圈选一片三角形,再指定它应该是平面、圆柱、锥面、球面还是环面。

几块面可以合起来,认错的也可以拆开再试。

每一步都能撤销,会记进报告;

如果修完反而更糟,工具会撤回这一步,并把原因告诉你。

第五问 花瓶、凸轮更优秀的表现

接下来这几件,做过CAD的读者应该很熟悉。

一条轮廓线转一圈,可以得到花瓶、圆顶、旋钮;

一个外形沿着一个方向推出去,可以做出凸轮、曲面墙和等高线地形。

老版本还不能按这两种方式识别,只能用一块块曲面去拼。

新版本自动拟合绕完整一圈的面能合起来算一个。

这只车削花瓶,老版本转出25个面,新版本只剩3个:瓶身一个面,顶面和底面各一个。

看到这里,就比较容易理解我们为什么一直想把面数减下来了。

6adebe958f2e2.webp?auth_key=1792984477-548129-0-96a9bf069841b6d7449bc86a0d852e95图注:看花瓶侧面的分界线。1.3用25个面拼成整件,1.6里的瓶身已经连成一个完整的面。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)6adebe95e4636.webp?auth_key=1792984478-824959-0-09b1b14bbe8db210d07b124abdbf7b89图注:凸轮也是类似的变化。1.3把侧面切成三十多条,1.6把一整圈认成一个面,整件从35个面减到3个。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

等高线地形的变化更大一些。

老版本转出1033个面,其中675个还是没认出来的面片;

新版本自动拟合只有58个面,台阶侧壁大多已经连成整面,未识别的面片只剩4个。

6adebe964d49f.webp?auth_key=1792984478-728506-0-2fbb6432550ea99d2d7f39006965550b图注:同一块等高线地形,1.3和1.6。留意每一级台阶的侧壁。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

第六问 更难的曲面花瓶

再往下,模型就不那么规整了。

没有平面,也找不到圆柱,得靠一块块曲面片去贴合。

一个圆滑的外形,最后常常被分成几十块。

新版本虽然面数少了,但仍然没有完全解决这个问题,只是曲面片能顺着形状多绕一些。

原来曲面之间折来折去的锯齿接缝,也会整理成顺滑的曲线。

而且这些变化仍然要守住原来的精度要求,也就是0.05毫米以内。

6adebe969e2f6.webp?auth_key=1792984478-435787-0-8bbe274725d92f11ea01c1e7e338f62a图注:这只扭纹花瓶有77,440个三角形。1.3转出1136个面,1.6减到了409个。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)6adebe96e267e.webp?auth_key=1792984479-627453-0-9e1eb1f972f456b0b5a41cd1e9012ada图注:再看这团光滑的有机外形。老版本分成44块,新版本剩下2块,中间保留一道接缝。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO)

对后面要改图的人来说,面连得完整一些,选面、加厚、抽壳,或是切开一部分,都更容易操作,也少一些碎面带来的麻烦。

第七问 最后,还是那只3DBenchy小船

初版一路测到最后,是那只3DBenchy小船,这次也把它留到了这里。

它是3D打印圈常用的标准测试件,22万个三角形,几乎找不到真正的平面。

船体、船舱、窗框到处是曲面,船尾还有一行小字,很适合看看工具到底能处理到哪一步。

可以看到,自动拟合比以前干净多了!

6adebe9755d2d.webp?auth_key=1792984479-647231-0-b758044883f43c7e40e495b67b51a754图注:同一只小船,同一个角度。1.3是4052个面,1.6是2486个。先看烟囱,原来一条条的竖面,这次连成了整圈。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO);模型 3DBenchy © CreativeTools.se,CC BY-ND 4.0

新版本认出了109个圆柱面,还有39个锥面、15个球面、6个环面,以及27个通过旋转或拉伸形成的面。

像锚链孔的孔口、烟囱这些位置,就不用再靠许多小补丁来拼了。

整体已经很干净了,这还不算可以手动修复拟合的更优化成果。

6adebe97b5d20.webp?auth_key=1792984479-385746-0-4149cdaae901c7ff64d07a6b9778e73d图注:青绿色是曲面片,灰色是平面,蓝色是圆柱面;紫色是锥面、球面、环面和旋转形成的面,黄色是还没认出来的小三角形。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO);模型 3DBenchy © CreativeTools.se,CC BY-ND 4.06adebe981e8ce.webp?auth_key=1792984480-777968-0-a86d6d8005c22b8c25dc07ad2954d275图注:船头放大看。1.3的船体补丁较碎,接缝也有锯齿;1.6的曲面片大了,接缝顺了不少。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO);模型 3DBenchy © CreativeTools.se,CC BY-ND 4.06adebe989144e.webp?auth_key=1792984480-680539-0-92a4da992c843412fb14a26022e6d0c9图注:再绕到驾驶舱背面,看窗框、舱门和圆角,1.6的曲面衔接更完整一些。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO);模型 3DBenchy © CreativeTools.se,CC BY-ND 4.0

当然,那些最细碎的地方还没有全部解决。

没认出来的小三角形,从2679个降到了1514个,占表面积从2.8%降到0.5%,主要还在船尾的小字和极小的圆角上。

最大偏差则从0.067毫米降到了0.050毫米。

6adebe98e5c8f.webp?auth_key=1792984481-516026-0-2414e753192e0338ffbde30ffbb6fd0d图注:小船的导出面板。1.3还在提示修复功能要等后续版本;1.6已经可以从右栏的修复面接着处理。图源:升阶 STLSTPAscender 1.3 / 1.6 实测截图(AMEDAO);模型 3DBenchy © CreativeTools.se,CC BY-ND 4.0

如果愿意再花一点工夫,还可以像刚才修旋钮那样,点全部面片,手动修复出更优秀的成果。

第八问 面少了,结果的可靠性并没有减少

看完这些变化,我们还得确认一件事。

面少了,转出来的零件有没有额外问题。所以每次发布前我们会把文件再次检查。

是不是完整、合格的实体,体积能不能对上,要重新检查。

再核对一遍

和原来的CAD模型比一比

模型原图1.31.6
法兰轴套162416
沉头孔板·最粗导出186918
圆角支架3117231

这三个零件先在CAD里画好,再导出STL;1.6转回来的面数,都和原图对上了。

测试

61个测试模型,交给另一套CAD内核复核

60个合格

修复功能随机操作测试
1,397次 · 0问题

修复后的文件逐个复核
911次全部合格

复核用OpenCascade,FreeCAD也用这套内核。

没通过的那1个,是特意设错单位的测试。


还有实体体积和原网格能不能对上,里外有没有翻转,几个实体会不会互相穿插,一个面的边线有没有打结。

6adebe9946399.webp?auth_key=1792984481-258707-0-fa505b5c626ce25f39dd242c0fcca170图注:这个模型由三块实体组成,其中有2对互相穿插。提示会说明,导入CAD后它们仍是重叠的独立实体,需要合成一个零件时,再做布尔合并。图源:升阶 STLSTPAscender 1.6 界面截图(AMEDAO)

用过之前版本的读者,应该也熟悉这三种颜色。

绿色是验证过的实体;橙色表示还有提示,文件照常能下载,剩下的问题会逐条列出;

红色也能下载,但需要关注提示问题。

第九问 转换会比以前慢吗?

会,尤其是曲面多的大的3D模型。

把相邻曲面合起来,需要反复尝试和检查,这部分确实更花时间。

我们的测试小船从十几秒秒变成了几十秒。

常见机械零件倒是基本没受影响,原来一两秒的,现在还是一两秒。

如果只是想先转出来看看,也可以到设置里关掉合并相邻曲面片。

关掉以后,这只小船大约能快一半,面数仍然比老版本少一千多个。

6adebe9988906.webp?auth_key=1792984481-270850-0-316c642348dce172eeb986eea4018076图注:合并开关在设置里,默认是打开的。图源:升阶 STLSTPAscender 1.6 界面截图(AMEDAO)

这里也顺带交代一下,合并通常按计算量设定了转换时间上限。

同一个文件,快电脑和慢电脑转出来的结果一致。

只有设备特别慢时,才可能碰到时间上的安全上限。

还做不到的事

还有几处没处理好

也照实说说还做不到的事

那些特别细的小字

船尾小字的笔画,比0.05毫米的精度还细,目前还得原样保留成小三角形。

像甜甜圈那样的整圈里外都绕一圈的环面,导出时仍会分成几块。

曲面多的大模型更慢

测试里,小船从26秒增加到了66秒;想快一些,可以关掉合并相邻曲面片。 

改图还得用CAD

升阶先把面认出来,尽量拼完整;加厚、开孔、改尺寸,再到CAD里做。


最后 写在最后

从平板一路试到小船,这次的变化大致就是这些。

更少的面,更干净的转换,还有更自由的手动修复可以玩。

我们继续做这些更新,想法和最初一样。

做3D打印,手边常常就是网上下载的模型、客户发来的STL,或扫描出来的外形。

如果只是想改个孔、加厚一块、开个槽,希望能少一点从头画图的麻烦。

我们这个工具转出来的面完整一些,后面改图就能省一点工夫。

现在已经有数千位3D打印用户在用升阶转换模型,用的人还在不断增加。

工具仍然从这个地址打开:


https://amyidao.com/h5/stlstpascender/index


或者进到我们这个页面点击即可用:

6adebe9218d92.webp?auth_key=1792984474-856540-0-a27cbaa92ddb404e5889906f4d695800

不用安装,也不用注册,完全本地运算,主打一个安全靠谱。

之前有模型转得不太理想的读者,可以拿原来的文件再试一遍。


10-24 18:51
点赞
反对
收藏
分享