microcad 0.3.0

µcad Command Line Interface
# microcad

This crate provides the command line interpreter of µcad.

**Note**: This project is in an early stage of development and is not yet feature complete!

## Installation

First, install [CMake](https://cmake.org/) and [Ninja](https://github.com/ninja-build/ninja) which are needed to compile
the [manifold geometry library](https://github.com/elalish/manifold).

### *Debian* based *Linux* distributions

Use the following line to install Ninja and CMake:

```sh
sudo apt install ninja-build cmake
```

### MacOS

If you are on using MacOS, you have to install `cmake` and `ninja` using `brew`:

```sh
brew install cmake ninja
```

### Install µcad via cargo

To install the latest release of *µcad* via *cargo*, type:

```sh
cargo install microcad
```

## Command line usage

After installing, you can run a basic example by typing:

```sh
microcad eval ./examples/bricks/brick
```

This will *evaluate* the input file and will output the model tree.
The *evaluate* command will not export the output geometry.

To generate an STL model file use the `export` command with an additional output file name:

```sh
microcad export ./examples/bricks/brick
```

## Run

Start the microcad CLI by typing `microcad` into your console.

```sh
microcad
```

This will give you an overview of the available functionality:

```plain
µcad Command Line Interface

Usage: microcad [OPTIONS] <COMMAND>

Commands:
  parse        Parse a µcad file
  resolve      Parse and resolve a µcad file
  eval         Parse and evaluate a µcad file
  export       Parse and evaluate and export a µcad file
  create       Create a new source file with µcad extension
  watch        Watch a µcad file
  install      Install µcad standard library
  completions  Print shell completions
  help         Print this message or the help of the given subcommand(s)

Options:
  -T, --time                  Display processing time
  -C, --config <CONFIG_PATH>  Load config from file
  -v...                       Verbosity level (use -v, -vv, or -vvv)
  -h, --help                  Print help
  -V, --version               Print version
```

You're now ready to use µcad!

## Resources

Documentation: <https://docs.microcad.xyz/language/book/index.html>

## ❤️ Donate

If you like this project, you can help us spend more time on it by donating:

<a href="https://opencollective.com/microcad/donate" target="_blank">
<img src="https://opencollective.com/microcad/donate/button@2x.png?color=blue" width=300 />
</a>