#convert #lego #cad #encoding #ldraw

app weldr-bin

A command-line tool to manipulate LDraw files (.ldr)

2 unstable releases

0.2.0 Dec 12, 2020
0.1.0 Dec 3, 2020

#138 in Multimedia

22 downloads per month

MIT license

150KB
3.5K SLoC

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

LICENSE 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 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

~3.5–5MB
~88K SLoC