21 releases

new 0.8.3 Nov 17, 2024
0.7.0 Dec 4, 2022
0.6.0 Jan 4, 2021
0.5.2 Oct 19, 2020
0.3.3 Jul 5, 2017

#83 in Data formats

Download history 2264/week @ 2024-07-29 2567/week @ 2024-08-05 2766/week @ 2024-08-12 2214/week @ 2024-08-19 2784/week @ 2024-08-26 3221/week @ 2024-09-02 2341/week @ 2024-09-09 2974/week @ 2024-09-16 2862/week @ 2024-09-23 1786/week @ 2024-09-30 2130/week @ 2024-10-07 2395/week @ 2024-10-14 2599/week @ 2024-10-21 2183/week @ 2024-10-28 2897/week @ 2024-11-04 2715/week @ 2024-11-11

10,439 downloads per month
Used in 19 crates (16 directly)

MIT license

32KB
657 lines

stl_io

test workflow build workflow Cargo License: MIT Downloads

stl_io is crate for reading and writing STL (STereoLithography) files. It can read both, binary and ascii STL in a safe manner. Writing is limited to binary STL, which is more compact anyway.

Examples

Read STL file:

use std::fs::OpenOptions;
let mut file = OpenOptions::new().read(true).open("mesh.stl").unwrap();
let stl = stl_io::read_stl(&mut file).unwrap();

Write STL file:

use std::fs::OpenOptions;
let mesh = [stl_io::Triangle { normal: [1.0, 0.0, 0.0],
                               vertices: [[0.0, -1.0, 0.0],
                                          [0.0, 1.0, 0.0],
                                          [0.0, 0.0, 0.5]]}];
let mut file = OpenOptions::new().write(true).create_new(true).open("mesh.stl").unwrap();
stl_io::write_stl(&mut file, mesh.iter()).unwrap();

For more information, check out the Documentation.

License

Licensed under the MIT license.

Dependencies

~165KB