4 个版本

0.2.2 2021 年 3 月 15 日
0.2.1 2021 年 2 月 2 日
0.2.0 2020 年 11 月 5 日
0.1.0 2020 年 11 月 5 日

#1928解析器实现

Download history 67/week @ 2024-04-12 117/week @ 2024-04-19 105/week @ 2024-04-26 90/week @ 2024-05-03 77/week @ 2024-05-10 113/week @ 2024-05-17 33/week @ 2024-05-24 61/week @ 2024-05-31 42/week @ 2024-06-07 60/week @ 2024-06-14 71/week @ 2024-06-21 33/week @ 2024-06-28 18/week @ 2024-07-05 73/week @ 2024-07-12 78/week @ 2024-07-19 90/week @ 2024-07-26

每月 260 次下载

MIT 许可证

32KB
662

nom_stl

CircleCI

是什么

nom_stl 是一个二进制和 ASCII STL 解析器,使用纯 Rust 编写,只有一个运行时依赖项:nom 解析器组合库。 nom_stl 自动区分 ASCII 和二进制 STL。它可以在 <20ms 内解析 30M 的二进制 STL。

使用

let file = std::fs::File::open("./fixtures/Root_Vase.stl").unwrap();
let mut root_vase = BufReader::new(&file);
let mesh: Mesh = parse_stl(&mut root_vase)?;
assert_eq!(mesh.triangles.len(), 596_736);

nom_stl 接受各种论证格式的 STL 字节:它将尝试解析任何实现 ReadSeek 的字节集合。

运行测试

$ cargo test

为了使测试运行更快(但增加构建时间),您可以在 release 模式下运行测试。为此,请运行以下命令:

$ cargo test --release

运行基准测试

$ cargo bench

它需要什么

  • 稳定的公共 API
  • 更好的测试,使用更好的输入数据而不是一些较小解析器的 0
  • 测试解析 Windows/DOS 行结束文件
  • 属性测试 (https://crates.io/crates/quickcheck)
  • 最新 Nom (5.1)
  • 缓冲 IO
  • 通用正常和顶点类型
  • 真实文档/rustdoc
  • 许可证
  • 主页

创意共享

以下人员因许可其文件 Creative Commons 而感谢他们,以便我们将它们包含在此项目中

依赖项

~1MB
~17K SLoC