Metadata-Version: 2.5
Name: piecad
Version: 2.0.3
Summary: "Easy as Pie" CAD (Piecad)
Author-email: Brian Sturgill <codersnext@gmail.com>
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
License-File: LICENSE
Requires-Dist: matplotlib >= 3.11.2
Requires-Dist: networkx >= 3.7
Requires-Dist: py-lib3mf >= 2.3.1
Requires-Dist: freetype-py >= 2.5.1
Requires-Dist: manifold3d >= 3.0.1, <= 3.2.1; platform_system == 'Windows'
Requires-Dist: manifold3d >= 3.2.1; platform_system != 'Windows'
Requires-Dist: pillow >= 12.3.0
Requires-Dist: svgpathtools==1.7.0
Requires-Dist: trimesh >= 1.26.4
Requires-Dist: weasyprint >= 70.0
Project-URL: Bug Tracker, https://github.com/briansturgill/Piecad/issues
Project-URL: Documentation, https://briansturgill.github.io/Piecad/
Project-URL: Examples, https://github.com/briansturgill/Piecad/blob/main/examples/README.md
Project-URL: Home, https://github.com/briansturgill/Piecad
Project-URL: Source, https://github.com/briansturgill/Piecad
Import-Name: piecad

# "Easy as Pie" CAD (Piecad)

For many years I used [OpenSCAD](https://www.openscad.org),
but the functional language it uses was often a hinderance and its speed
was poor. **Piecad** is my opinionted view of what a good, simple CAD API should look like.
It is written in [Python](https://www.python.org).
Its primary focus is the creation of models for 3D printing.

To install using [pip](https://pypi.org/project/piecad) (virtual environment recommended):

```sh
pip install piecad
```

[QuickHelp](https://briansturgill.github.io/Piecad/qh.html)

[Documentation](https://briansturgill.github.io/Piecad)

[Examples](examples/README.md)

[Printable CheatSheet](https://briansturgill.github.io/Piecad/cs.pdf)

Piecad has a `view` function which works like a 3d `print` (also does 2D).
[Matplotlib](https://matplotlib.org/) provides the window that displays the model/image from each `view` call.
You can use arrow keys to swtich between the models/images.

The viewer is automatically started when you use a `view` call inside Piecad.
If you are running your program inside PyCharm or Microsoft Visual Studio, add a call
to `view_all_now()` as the last line of your program.
Type 'h' in the view window for a list of commands.


# My Piecad development environment.


## CREDITS

Piecad is based on [Manifold](https://github.com/elalish/manifold), a 3D CAD package written in C++.
Manifold incorporates [Clipper2](https://github.com/AngusJohnson/Clipper2) for 2D objects.
It also uses [`quickhull`](https://github.com/akuukka/quickhull) for 3d convex hulls.
You can see Manifold's web site for other packages that are used.

Piecad uses the [trimesh](https://github.com/mikedh/trimesh) package for mesh loading/saving and
for Piecad-Viewer.

Piecad uses [Matplotlib](https://matplotlib.org/) for visualizations.

We include two fonts: `Hack-Regular.tts` and `Roboto-Regular.tts`, see `piecad/fonts` for the licenses.

See the [file](https://raw.githubusercontent.com/briansturgill/Piecad/refs/heads/main/pyproject.toml) for more packages
that are used in Piecad.

