#file-format #layer #load #roo #goo

roo_parser

Roo是一个Rust库,允许您解析.goo文件

1个不稳定版本

0.1.0 2023年11月19日

#1695 in 解析器实现

MIT许可证

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