STL 3D 模型检查器(三角形、体积、包围盒、打印床适配)
文件
在浏览器中分析任意 STL(StereoLithography)网格 —— 不上传。自动识别二进制或 ASCII STL,解析每个三角形,并报告三角形数、唯一顶点数 vs 原始顶点数(STL 为每个三角形单独存储 3 个顶点,水密网格的唯一顶点约为原始的 1/6)、轴对齐包围盒、X×Y×Z 尺寸与中心点、有符号四面体体积(对所有三角形求 Σ (v₀ · (v₁ × v₂)) / 6)、总表面积,以及水密性检测(每条无向边须恰好被 2 个三角形共享)。三个正交 SVG 视图(顶 XY / 前 XZ / 侧 YZ)让你一眼判断轮廓,床面适配表则告诉你哪些常见打印机(Bambu A1 Mini / X1C、Prusa MK4、Ender 3 V3、Voron 2.4)能容纳该零件。
—
使用方法
- 把 .stl 文件拖入虚线区域,或用「选择文件」按钮。
- 在 mm、cm、m、英寸之间切换单位(STL 不存储单位 —— 3D 打印的事实约定是 mm)。
- 查看统计卡片、三视图正交投影和床面适配表,确定哪些打印机可以接受该零件。
- 点击 Reset 加载其他文件。
常见问题
- STL 会上传吗?
- 不会。文件通过 file.arrayBuffer() 读取,全部在浏览器内解析与渲染 —— 不会发送到任何服务器。加载文件时可在 DevTools → Network 中自行验证。
- 「水密」到底是什么意思?
- 封闭网格内的每条内部边都恰好被两个三角形共享。本工具构建无向边映射并检查计数 —— 不等于 2 即表示存在孔洞、未焊接的重复顶点或非流形连接。PrusaSlicer / OrcaSlicer 等切片机可自动修复小孔,但可靠的实体体积计算需要水密网格。
- 体积如何计算?
- 采用有符号四面体法:每个三角形 (v₀, v₁, v₂) 与原点构成一个四面体,其有符号体积为 (v₀ · (v₁ × v₂)) / 6。对所有三角形求和即得到封闭体积 —— 对任意封闭表面准确,与原点位置无关。显示绝对值以避免绕序问题导致正负翻转。
- STL 没有单位信息 —— 文件单位是什么?
- STL 不编码单位。3D 打印的事实约定是毫米;CAD 交换常用英寸。如果在本工具中 100 mm 的立方体显示为 100,那就是 mm;显示为 3.94,则可能是英寸。切换单位下拉框直到与预期匹配。
- 为什么预览只有线条而不带着色?
- 因为不使用 WebGL 的 SVG 可以轻松处理数千条线段,但难以处理带深度排序的填充多边形与着色。正交线框轮廓仍能显示剪影并对方向与尺寸做合理性检查 —— 完整 3D 渲染请用切片机或 Cura / Bambu Studio 等查看器打开。