#cli-file #file-format #format #3d #file #cli #fs-file

colain

Common Layer Interface 格式 (.cli) 的解析器

1 个不稳定版本

0.1.4 2022年1月29日
0.1.3 2021年5月14日
0.1.2 2021年5月14日
0.1.1 2021年3月25日
0.1.0 2021年3月25日

#1845解析器实现

Apache-2.0

28KB
463

colain

Crates.io Documentation

Common Layer Interface (.cli) 文件 格式。 的解析器

注意: 此库尚未支持解析 ASCII 文件。

需要 rustc 1.51.0+

示例

use std::fs::File;
use std::io::prelude::*;
use colain::{
    CLI,
    clitype::{LongCLI, ShortCLI},
    Point // import the Point trait to provide access via .x() and .y()
};

// Load the file
let mut buf: Vec<u8> = Vec::new();
File::open("example.cli").unwrap().read_to_end(&mut buf).unwrap();

// Parse the file
let model = CLI::<LongCLI>::new(&buf).unwrap();

// for each layer
for layer in model.iter() {
     // for each loop in the layer
     for a_loop in layer.iter_loops() {
         // for each point in the loop
         for point in a_loop.iter() {
             let x = point.x();
             let y = point.y();
         }
     }
 }

许可证

Apache 2.0 许可证

贡献

请随时提交 PR。

此外,.cli 文件对于测试非常有用,请考虑将任何文件提交到 testfiles 目录作为 PR。

除非您明确表示,否则您提交的任何贡献,根据 Apache-2.0 许可证定义,应按照上述方式许可,不附加任何额外条款或条件。

待办事项

  • 切换到 Iterator API
  • 支持剩余的头部命令
  • 测试
  • 欢迎提交支持 ASCII 文件支持的 PR

依赖项

~170KB