2 unstable releases
0.2.0 | Dec 12, 2020 |
---|---|
0.1.0 | Dec 3, 2020 |
#171 in Multimedia
150KB
3.5K
SLoC
👨🏭 weldr, the link between your favorite building blocks and Rust 🧱
weldr is a Rust library and command-line tool to manipulate LDraw files (format specification), which are files describing 3D models of LEGO®* pieces.
The 📦 weldr-bin
crate contains the weldr command-line tool ⚙ weldr
, an executable to manipulate LDraw files and convert them to other formats (currently: glTF 2.0).
Note: For the underlying Rust library used by this command-line tool, see the 📦 weldr
crate instead.
Example
Convert an LDraw file to a glTF 2.0 file:
weldr convert 5-8cyli.dat gltf
⚙ weldr
is a frontend for a set of subcommands to manipulate LDraw files. The full help and list of available subcommands can be displayed with:
weldr --help
Topical help for a specific subcommand (e.g. "convert
") can be displayed with:
weldr <SUBCOMMAND> --help
Installation
Cargo
The 📦 welder-bin
crate is available on crates.io and can be installed with cargo:
cargo install weldr-bin
Binary download
Prebuilt binaries for supported platforms are available on the GitHub Releases page.
Offcial LDraw catalog
The official LDraw catalog of parts is available at https://www.ldraw.org/library/updates/complete.zip. Download the catalog and unzip it somewhere locally, then use the --catalog-path
/-C
option to specify the location where the root folders are located (the p
and parts
folders), to allow ⚙ weldr
to resolve files and all their sub-file references. By default the current working directory is used.
Example:
> curl https://www.ldraw.org/library/updates/complete.zip --output complete.zip
> unzip complete.zip -d ./ldraw_parts
> weldr convert -C ./ldraw_parts 6143.dat gltf
Rust version requirements
weldr is tested with rustc
version 1.44, stable, and beta, although older versions may work, but have never been tested.
Copyrights
The current code repository is licensed under the MIT license.
LDraw™ is a trademark owned and licensed by the Estate of James Jessiman, which does not sponsor, endorse, or authorize this project.
*LEGO® is a registered trademark of the LEGO Group, which does not sponsor, endorse, or authorize this project.
Dependencies
~7MB
~124K SLoC