thdmaker 0.0.4

A comprehensive 3D file format library supporting AMF, STL, 3MF and other 3D manufacturing formats
Documentation
# THD Maker - 3D Printing Creation

A Bevy-based 3D printing design software.

## Overview

THD Maker is a robust, easy-to-use application designed for 3D printing workflows, including 3MF, AMF, STL formats file I/O, preview, slicing, and G-code generation. Built with Rust and Bevy for safety and performance.

## Features

- **Multi-format Support**: Comprehensive support for major 3D manufacturing formats (3MF, AMF, STL)
- **High Performance**: Leveraging Rust's zero-cost abstractions for optimal performance
- **Memory Safe**: Built with Rust's ownership model to prevent memory-related bugs
- **Extensible Design**: Modular architecture allowing easy addition of new formats
- **Cross-platform**: Works on Windows, macOS, and Linux
- **3D Design Software**: Bevy-based 3D printing design application with file I/O, preview, slicing, and G-code generation

## File Format Reference

### 3MF (3D Manufacturing Format)
- [3MF Specification]https://3mf.io/spec/
- [Official 3MF Consortium Library]https://github.com/3MFConsortium/lib3mf
- [Library of Congress Format Description]https://www.loc.gov/preservation/digital/formats/fdd/fdd000557.shtml

### AMF (Additive Manufacturing File Format)
ISO-52915 Standard
- [ASTM International]https://www.astm.org/
- [ISO Standard]https://www.iso.org/standard/74640.html
- [ISO TC261 Committee]https://committee.iso.org/home/tc261
- [AMF XSD Schema]https://standards.iso.org/iso/52915/ISOASTM52915(2016AMF.xsd)
- [Wikipedia: Additive Manufacturing File Format]https://en.wikipedia.org/wiki/Additive_manufacturing_file_format

### STL (Stereolithography)
- [Wikipedia: STL Format]https://en.wikipedia.org/wiki/STL_(file_format)
- [Library of Congress Format Description]https://www.loc.gov/preservation/digital/formats/fdd/fdd000505.shtml

### G-code (Numerical Control Programming)
- [Wikipedia: G-code]https://en.wikipedia.org/wiki/G-code
- [RepRap G-code]https://reprap.org/wiki/G-code
- [Marlin G-code Reference]https://marlinfw.org/meta/gcode
- [Klipper G-code Documentation]https://www.klipper3d.org/G-Codes.html
- [LinuxCNC G-code Overview]https://linuxcnc.org/docs/html/gcode/overview.html
- [GRBL G-code Reference]https://github.com/gnea/grbl/wiki
- [NIST RS274NGC Interpreter]https://www.nist.gov/publications/nist-rs274ngc-interpreter-version-3

### STEP/STP (Standard for the Exchange of Product Data)
ISO-10303 Standard
- [ISO Standard Overview]https://www.iso.org/standard/83105.html
- [ISO Standard Detail]https://www.iso.org/standard/63141.html
- [STEP Parts List]https://standards.iso.org/iso/10303/STEP_Parts_List.htm
- [STEP Tools]https://www.steptools.com/
- [STEP Standards Documentation]https://www.steptools.com/stds/step
- [STEP Part 21 Edition 3]https://steptools.com/stds/step/IS_final_p21e3.html
- [Wikipedia: ISO 10303]https://en.wikipedia.org/wiki/ISO_10303
- [Wikipedia: ISO 10303-21]https://en.wikipedia.org/wiki/ISO_10303-21
- [Library of Congress Format Description]https://www.loc.gov/preservation/digital/formats/fdd/fdd000448.shtml
- [FreeCAD]https://www.freecad.org
- [OpenCASCADE]https://www.opencascade.com
- [OpenCASCADE Developer Portal]https://dev.opencascade.org

### OBJ (Wavefront OBJ)
- [Library of Congress Format Description]https://www.loc.gov/preservation/digital/formats/fdd/fdd000507.shtml
- [Wikipedia: Wavefront OBJ File]https://en.wikipedia.org/wiki/Wavefront_.obj_file

## Installation

Add this to your `Cargo.toml`:

```bash
cargo add thdmaker
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

- Thanks to all the organizations and standards bodies that maintain the 3D file format specifications
- Inspired by existing libraries in other languages
- Built with the excellent Rust ecosystem

## Links

- [Documentation]https://docs.rs/thdmaker
- [Crates.io]https://crates.io/crates/thdmaker
- [Changelog]CHANGELOG.md

## References

### OBJ
- [Twinklebear/tobj]https://github.com/Twinklebear/tobj

### STEP/STP
- [stepcode/stepcode]https://github.com/stepcode/stepcode
- [mozman/steputils]https://github.com/mozman/steputils
- [ricosjp/ruststep]https://github.com/ricosjp/ruststep
- [FreeCAD/FreeCAD]https://github.com/FreeCAD/FreeCAD

### GCODE related and etc
- [Michael-F-Bryan/gcode-rs]https://github.com/Michael-F-Bryan/gcode-rs
- [Slic3r/Slic3r]https://github.com/Slic3r/Slic3r
- [Klipper3d/klipper]https://github.com/Klipper3d/klipper
- [MarlinFirmware/Marlin]https://github.com/MarlinFirmware/Marlin