Rust Interface

#![allow(unused)]
fn main() {
extern crate automesh;
use automesh::{Abaqus, FiniteElements, Voxels};
}

Example

Convert a Numpy segmentation file to an Abaqus input file:

use automesh::{Abaqus, Voxels};

fn main() {
    let voxels = Voxels::from_npy("single.npy");
    let scale = [1.0, 1.0, 1.0];
    let translation = [0.0, 0.0, 0.0];
    let fem = voxels.into_finite_elements(&scale, &translation);
    fem.write_inp("single.inp");
}

The resulting Abaqus input file:

*HEADING
autotwin.automesh
version 0.1.10
autogenerated on 2024-10-15 18:00:00.989487426 UTC
**
*NODE, NSET=ALLNODES
    1,      0.000000e0,      0.000000e0,      0.000000e0
    2,      1.000000e0,      0.000000e0,      0.000000e0
    3,      0.000000e0,      1.000000e0,      0.000000e0
    4,      1.000000e0,      1.000000e0,      0.000000e0
    5,      0.000000e0,      0.000000e0,      1.000000e0
    6,      1.000000e0,      0.000000e0,      1.000000e0
    7,      0.000000e0,      1.000000e0,      1.000000e0
    8,      1.000000e0,      1.000000e0,      1.000000e0
**
*ELEMENT, TYPE=C3D8R, ELSET=EB1
    1,    1,    2,    4,    3,    5,    6,    8,    7
**
*SOLID SECTION, ELSET=EB1, MATERIAL=Default-Steel