21 releases

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

#84 in Data formats

Download history 2647/week @ 2024-08-21 2958/week @ 2024-08-28 2745/week @ 2024-09-04 2577/week @ 2024-09-11 2701/week @ 2024-09-18 2731/week @ 2024-09-25 1827/week @ 2024-10-02 2349/week @ 2024-10-09 2570/week @ 2024-10-16 2230/week @ 2024-10-23 2221/week @ 2024-10-30 2961/week @ 2024-11-06 3225/week @ 2024-11-13 2573/week @ 2024-11-20 2837/week @ 2024-11-27 1984/week @ 2024-12-04

11,100 downloads per month
Used in 20 crates (17 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