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 2888/week @ 2024-09-21 1939/week @ 2024-09-28 2107/week @ 2024-10-05 2440/week @ 2024-10-12 2533/week @ 2024-10-19 2183/week @ 2024-10-26 2849/week @ 2024-11-02 2612/week @ 2024-11-09 2935/week @ 2024-11-16 2784/week @ 2024-11-23 2941/week @ 2024-11-30 2406/week @ 2024-12-07 2021/week @ 2024-12-14 852/week @ 2024-12-21 1066/week @ 2024-12-28 2450/week @ 2025-01-04

6,776 downloads per month
Used in 20 crates (18 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