1个不稳定版本
0.1.0 | 2023年11月19日 |
---|
#1695 in 解析器实现
17KB
390 行
Roo - Elegoo 3D打印机非官方 Goo 格式解析器
Roo是一个Rust库,允许您解析Elegoo 3D打印机使用的专有格式.goo
文件。此库与Elegoo没有官方关联,是一个社区驱动项目。
Roo受到UVTools项目的启发,本质上是对该项目中找到的GooFile.cs
类的重写。此库的目的是让Rust开发者更容易地处理.goo
文件。
安装
要在项目中使用Roo,请将以下内容添加到您的Cargo.toml
文件中
[dependencies]
roo_parser = "0.1.0"
然后运行cargo build
下载并编译Roo。
使用方法
以下是一个如何使用Roo加载并计算.goo
文件中的层的简单示例
use std::fs::File;
use roo::Roo;
fn main() {
// Specify the path to your .goo file
let path = "/path/to/your/file.goo";
// Open the file
let file = match File::open(&path) {
Err(why) => panic!("couldn't open {}: {}", path, why),
Ok(file) => file,
};
// Create a Roo object from the file
let mut roo = Roo::from_file(file).expect("Failed to parse the .goo file");
// Iterate over the layers in the .goo file
let mut layer_count = 0;
while let Some(layer) = roo.next() {
println!("Layer {}: {:?}", layer_count, layer);
layer_count += 1;
}
println!("Total layers: {}", layer_count);
}
在这个例子中,我们打开一个.goo
文件,从它创建一个Roo
对象,然后我们遍历文件中的每一层,打印它并递增计数。最后,我们断言计数为32,这是我们的测试文件中预期的层数。
贡献
欢迎贡献!请随时提交拉取请求或打开一个问题。
许可证
MIT许可证
免责声明
此库与Elegoo没有官方关联。它是一个社区项目,不得到Elegoo的认可或赞助。自行承担使用此库的风险。
依赖项
~120KB