Skip to content

Latest commit

 

History

History

weldr

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

👨‍🏭 weldr, the link between your favorite building blocks and Rust 🧱

License: MIT or Apache 2.0 Crates.io Version CI Coverage Status Minimum rustc version

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 gltf 5-8cyli.dat --output 5-8cyli.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

Currently the convert subcommand is the only one available:

weldr convert [OPTIONS] <FORMAT> <INPUT>

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.56, stable, and beta, although older versions may work, but have never been tested.

Copyrights

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.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.