4 releases (2 breaking)
0.3.1 | Nov 27, 2022 |
---|---|
0.3.0 | Oct 30, 2022 |
0.2.0 | Oct 30, 2022 |
0.1.0 | Oct 30, 2022 |
#2892 in Parser implementations
Used in 2 crates
26KB
608 lines
Introduction
pk_stl is a Rust library for reading and writing STL files, and has no additional dependencies other than the standard library. It can read and write both ASCII and binary STL files.
STL File Support
There are two main STL file formats: binary and ascii.
Binary | ASCII | |
---|---|---|
Read | Yes | Yes |
Write | Yes | Yes |
Additionally, this library does not suppport any additional attributes attached to the triangles or model, but this features will be in a future release. If metadata from the header is needed, this library does provide access to the contents of the header.
Documentation
For full documentaiton run:
cargo doc --open
Or visit https://docs.rs/pk_stl/latest/pk_stl
lib.rs
:
STL file parsing and writing.
This crate provides a simple interface for reading and writing STL files. It is written entirely in Rust with no dependencies, and it can read and write both ASCII and binary STL files.
Examples
use pk_stl::parse_stl;
// Files may be loaded from bytes or from ascii.
let content = include_bytes!("../tests/test_cube.stl");
let model = parse_stl(content).unwrap();
// Models can be converted between ascii and binary.
let ascii_content = model.as_ascii();
// The header of this model is "OpenSCAD Model\n" because this file happens
// to be the output of OpenSCAD.
assert_eq!(ascii_content.lines().next(), Some("solid OpenSCAD Model"));