blussyya/sldprt-converter
GitHub: blussyya/sldprt-converter
将 SolidWorks SLDPRT 文件转换为 STL 和 OBJ 格式的转换器。
Stars: 4 | Forks: 0
# sldprt 转换器
将 SolidWorks SLDPRT 文件转换为 STL 和 OBJ 格式。
## 使用方法
```
npm install
node src/convert.js input.sldprt [output.stl]
```
如果没有指定输出路径,则写入 `input_converted.stl` 和 `input_converted.obj`。
## 工作原理
此工具逆向工程 SLDPRT 二进制格式以直接提取网格几何形状:
1. 解析 OLE2 复合文档格式
2. 提取 `Contents/DisplayLists` 流
3. 解压缩流(pako/inflate)
4. 查找面标记(`0x0C 0x00 0x00 0x00 0x64 0x00 0x00 0x00`)
5. 读取每个面的 NURBS 控制点(以米为单位存储为 float32,缩放到毫米)
6. 根据类型对面进行三角化:
- **平面面**(恒定 Y):凸包 + 质心扇形
- **规则曲面**(交替 Y):两个曲线之间的线性插值
- **四边形**(4 个顶点):两个三角形
- **其他**:带有角度排序的质心扇形
## 当前限制
- 提取的顶点是 NURBS 控制点,而不是评估后的网格顶点
- 控制点之间的线性插值会产生略微超出真实 B 样条曲线的表面
- 平面面孔(用于支架、开孔)尚未支持
- 在 SolidWorks 2015+ SLDPRT 文件上进行了测试
## 许可证
MIT
标签:3D打印, MITM代理, MIT许可, npm包, NURBS, OBJ格式, OLE2解析, SLDPRT, SolidWorks, STL格式, 三角化, 二进制格式分析, 云资产清单, 几何建模, 数据可视化, 文件格式转换, 暗色界面, 自定义脚本, 软件工具, 逆向工程