Metadata-Version: 2.4
Name: support-fins
Version: 0.1.0
Summary: Add breakaway support fins to an STL so it prints in a strong orientation without slicer supports
Keywords: 3d-printing,stl,supports,mesh,trimesh
Author: conradbez
Author-email: conradbez <conradbez1@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
Classifier: Environment :: Console
Requires-Dist: numpy>=1.24
Requires-Dist: rtree>=1.0
Requires-Dist: scipy>=1.10
Requires-Dist: trimesh>=4.0
Requires-Python: >=3.10
Project-URL: Upstream, https://github.com/gittrahan/support-fins
Description-Content-Type: text/markdown

# support-fins

Add breakaway support fins to an STL, baked into the mesh. Tip a part into its strong
orientation, run this, and print without slicer supports.

```sh
uvx support-fins part.stl                 # writes part_fins.stl
uvx support-fins part.stl -o out.stl --gap 0.25 --thickness 1.0
uvx support-fins part.stl --fins-only     # just the fins, to import as a separate body
```

The part is used in the orientation it ships in and dropped onto the bed (z=0). Every
overhang steeper than `--overhang-deg` with clear air to the bed gets a fin: a flared,
chamfered foot, a thin wall, and a necked tip that stops `--gap` below the part so it
snaps off. Overhangs above other parts of the model are skipped. Run `--help` for all
dimensions (mm).

## Python API

```python
import trimesh
from support_fins import generate_fins, FinParams

res = generate_fins(trimesh.load("part.stl"), FinParams(gap=0.25))
res.mesh.export("part_fins.stl")
```

## Credit

The fin algorithm is ported from `prototype/spike_fins.py` in
[gittrahan/support-fins](https://github.com/gittrahan/support-fins) (MIT), the engine behind
[printfins.com](https://printfins.com).
