GPT-6 Astra 生成 3D 的输出是 GLB ,带 PBR 贴图,网页里转着看很漂亮——但切片软件不吃这个格式。Bambu Studio 、PrusaSlicer 、Cura 认的是 STL / 3MF / OBJ / STEP ,没有一个收 GLB 。想打印就得先转。
麻烦的是这不是改个后缀的事。glTF 规范规定 Y 轴朝上、单位是米; STL 既不带坐标轴也不带单位,全靠读的人猜。所以一个 GLB 走了不处理这层的工具,出来的模型是躺着的,而且小 1000 倍——1 米被当成 1 毫米。
在线转换那些基本都要把文件传到服务器,免费额度还卡在 5–25 MB 。转个几何体而已,没必要把文件交出去。
所以做了 https://convertstl.com/zh ,解析和导出都在标签页里完成,没有上传,也没有服务端的体积上限。
几个自己觉得有点意思的地方:
所有模型进来先归一化到同一个坐标空间( Z 轴朝上、毫米),导出时按目标格式反向变换一次。这样避免了「输入格式 × 输出格式」的转换矩阵——加一个新格式只要写它自己的读和写,不用管跟其他 N 个格式怎么两两配对。上面 GLB 那个坑就是这层在兜。
STEP / IGES 不是网格。 它们是 B-rep (参数曲面),要显示或打印必须先三角化。这一步把 OpenCascade 那个 C++ CAD 内核编译成 wasm 塞进浏览器,7.3 MB ,按需加载——只转网格格式完全不会下载它,只有真拖了 STEP 进来才触发。
STL / OBJ / PLY 这三个本身不带坐标轴和单位,读的时候只能猜。干脆把这两个猜测做成界面上的开关("读取为 Z 朝上 / Y 朝上"、"mm / cm / m / in"),切换时不重新解析文件,只把那个规范化节点重新包一层。
实测量级:150 MB 、300 万三角面的 STL ,加载 + 修复(焊接重复顶点、删退化三角形)+ 导出,全程约 1 分钟。
已知的不足,先自己说:
贴图和颜色会丢。STL 本身只有几何;我这边导出的 3MF 也只写几何和毫米单位、不写材质。所以它解决的是"能不能进切片软件"和"尺寸朝向对不对",不解决保留颜色。要彩色打印目前还得走原软件。 大文件吃内存,150 MB 那个量级标签页会涨到 GB 级,低配机器会卡 修复只焊接重复顶点、清退化面,不填补真实破洞(缺三角形那种)。面板会给出 open edges 修复前后的数字,数字不降就说明是真洞 不支持 SolidWorks / Blender / SketchUp 原生格式,那几个要先从原软件导出 中文界面是我自己过的,可能有生硬的地方
技术栈:Next.js + three.js ,静态页部署在 Cloudflare Workers ,重的库都在客户端,服务端只发静态文件。没有账号,没有付费档。
欢迎挑毛病,尤其是格式解析对不对——手头测试文件有限,碰到真实文件很可能有翻车的。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.