Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/hmunktell/blendercam
Browse files Browse the repository at this point in the history
  • Loading branch information
hmunktell committed Mar 8, 2025
2 parents 3241f84 + b533579 commit 329460c
Show file tree
Hide file tree
Showing 191 changed files with 1,967 additions and 1,119 deletions.
1 change: 1 addition & 0 deletions .github/workflows/docs_pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
python -m pip install sphinx-book-theme
# python -m pip install sphinxcontrib-apidoc
python -m pip install sphinx-autoapi
python -m pip install myst-parser
- name: make the sphinx docs
run: |
Expand Down
167 changes: 82 additions & 85 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,132 +1,129 @@
<div align="center">

![Fabex CNC CAM extension for Blender](documentation/images/logo.png)
![Fabex CNC CAM extension for Blender](scripts/addons/docs/_static/fabex_logo_rectangle.png)

- - -
# CAM Toolpaths for CNC in Blender

### An Open Source Solution for Artistic or Industrial CAM with Blender 3D
### [About](#-about)[Guide](#-user-guide)[Features](#-features)[Post-Processors](#-post-processors)[Files](#-files-organisation)[Contribute](#-contribute)[License](#-license)[Disclaimer](#-disclaimer)

[![Chat on Matrix](https://img.shields.io/matrix/blendercam:matrix.org?label=Chat%20on%20Matrix)](https://riot.im/app/#/room/#blendercam:matrix.org)
![Fabex CNC CAM extension for Blender](scripts/addons/docs/_static/suzanne.gif)

[![Issues](https://img.shields.io/github/issues/vilemduha/blendercam)](https://github.com/vilemduha/blendercam)
![Last commit](https://img.shields.io/github/last-commit/vilemduha/blendercam)
[![Chat on Matrix](https://img.shields.io/matrix/blendercam:matrix.org?label=Chat%20on%20Matrix)](https://riot.im/app/#/room/#blendercam:matrix.org)
![Contributors](https://img.shields.io/github/contributors/vilemduha/blendercam)

![Linux](https://img.shields.io/badge/Platform-Linux%20|%20Mac%20|%20Windows-brightgreen.svg)
![Size](https://img.shields.io/github/repo-size/vilemduha/blendercam)
![License](https://img.shields.io/github/license/vilemduha/blendercam)

- - -

### [About](#About)[How to Use](#-how-to-use-wiki)[Features](#-features)[Post-Processors](#-post-processors)[Files](#-files-organisation)[Contribute](#-contribute)[License](#-license)[Disclaimer](#-disclaimer)

- - -

![Fabex CNC CAM extension for Blender](documentation/images/suzanne.gif)

- - -

</div>

## 👁️ About
[**Fabex CNC CAM extension for Blender**](https://blendercam.com/) is an open source solution for artistic, personal, commercial or industrial CAM - Computer aided machining - a g-code generation tool. It was called Blendercam but the name Blender can no longer be used in the name due to Trademark.
[**FabexCNC**](https://blendercam.com/) Extension for [**Blender**](https://www.blender.org) is an open source solution for artistic, personal, commercial or industrial CAM (*Computer Aided Machining*) - a G-code generation tool.

It is available for **Windows**, **Linux** and **MacOS**.

Formerly known as **BlenderCAM**, the **Blender Foundation** has requested that external projects no longer use the name **Blender** due to Trademark, so it was renamed **Fabex**!

It has been used for many milling projects _(artistic, personal, commercial and industrial)_ since its creation in 2012, and is actively developed.

> [!NOTE]
> _If you are a developer who would like to help, check out the section on [Contributing](#-contribute)._
## 👨‍🎓 How to Use (Wiki)
## 👨‍🎓 User Guide
* [Installation](scripts/addons/docs/install.md)
* [Getting Started](scripts/addons/docs/starting.md)
* [User Interface](scripts/addons/docs/interface.md)
* [Tools](scripts/addons/docs/tools.md)
* [Example Chain Workflow](scripts/addons/docs/examplechain.md)

![Linux](https://img.shields.io/badge/Plateform-Linux%20|%20MacOS%20|%20Windows-brightgreen.svg)

Fabex CNC CAM extension for Blender (formerly Blendercam) works on Windows or Linux and MacOS.

* [Fabex CNC CAM extension Installation](documentation/Blendercam%20Installation.md)
* [Getting Started](documentation/Getting%20started.md)
* [Panel Descriptions](documentation/Blendercam-Panel-Descriptions.md)
* [Tools](documentation/Blendercam-Tools.md)
* [Example of using Profile and Pocket operations](documentation/Profile%20and%20Pocket%20operations.md)
> [!NOTE]
> *You can also view the full [User, Developer and API Documentation](https://spectralvectors.github.io/blendercam/index.html)*
(The full [documentation](https://blendercam.com/documentation/) can also be found on the website)
## 👌 Features

| | Blender from 4.2.1
| -------------------------- | :----------------: |
| Several Milling Strategies for 2D and 3D | ✔️ |
| Cutter Types: Ball, Ballcone, Endmill Flat, V-Carve _(various angles)_, User Defined | ✔️ |
| Work with 3D Data or Depth Images | ✔️ |
| Layers and Skin for Roughing | ✔️ |
| Inverse Milling | ✔️ |
| Various Options for Ambient around Model | ✔️ |
| Protection of Vertical Surfaces | ✔️ |
| Stay Low - Option for Movement | ✔️ |
| Material Size Setup | ✔️ |
| Simulation of 3D Operations | ✔️ |
| Arc Retract | ✔️ |
| Pack Curves and Slice Model | ✔️ |
| Automatic Bridges for Cutout Operation | ✔️ |
| Chain Export and Simulation | ✔️ |
| Adaptive milling speed | ✔️ |

### Pending Features
* Helix entry and ramp down are experimental.
* 4 and 5 axis milling are only manual
| _Feature_ | _Description_ | _Status_ |
| ---: | :--- | :---: |
| **2D & 3D Milling Strategies** | _Profile, Pocket, Drill, Parallel, Cross, Block, Spiral, Medial Axis and more_ ||
| **Cutter Types** | _Ballnose, Ballcone, Bullnose, Flat Endmill, V-Carve, User Defined and more_ ||
| **3D Data or 2D Images** | _Model in Blender, or import 3D objects or b/w images, and generate toolpaths_ ||
| **Layers & Skin** | _Leave excess material during Roughing passes_ ||
| **Inverse Milling** | _Cut an inverted piece for joinery, e.g. Male to Female connector_ ||
| **Ambient Around Model** | _Clear excess material around the model_ ||
| **Protect Vertical Surfaces** | _Cutter moves vertically next to surfaces greater than a threshold angle_ ||
| **Stay Low** | _Keeps the Cutter low, if possible, to reduce travel time_ ||
| **Stock Material Setup** | _Enter material dimensions & location, or get them from your 3D model_ ||
| **Operation Simulations** | _Use toolpaths to generate a 3D mesh simulation of your finished product_ ||
| **Arc Retract** | _Retracts cutter in an arc, rather than straight lines to reduce travel time_ ||
| **Pack Curves** | _Arrange selected curves to fit on a plywood sheet for bulk cutting_ ||
| **Slice Model** | _Vertically slices model into a series of curves to be cut and stacked to recreate the 3D shape_ ||
| **Automatic Bridges** | _One click to add Bridges/Tabs to keep your work in place during Cutout Operations_ ||
| **Chain Operations** | _Combine multiple CAM operations into a Chain, Export as Gcode, or create a Chain Simulation_ ||
| **Adaptive Milling Speed** | _Adjusts the operation feedrate relative to the chipload calculation_ ||
| :warning: **Helix Entry**:warning: | _EXPERIMENTAL - Available in the Extension, but not yet fully supported_ ||
| :warning: **Ramp Down** :warning: | _EXPERIMENTAL - Available in the Extension, but not yet fully supported_ ||
| :warning: **4 Axis Milling** :warning: | _Currently only possible via manual indexing_ ||
| :warning: **5 axis Milling** :warning: | _Currently only possible via manual indexing_ ||

> [!NOTE]
> _All features listed above are for **Blender** 4.2.1 and up._
>
> _For previous versions of **Blender**, check the **Github Releases** page._
## 💻 Post-processors
* GRBL
* Iso
* LinuxCNC - EMC2
* Fadal
* Heidenhain
* Sieg KX1
* [Grbl](https://github.com/gnea/grbl/wiki)
* [ISO](https://www.iso.org/obp/ui/#iso:std:iso:4343:ed-2:v1:en)
* [LinuxCNC - EMC2](https://linuxcnc.org/)
* [Fadal](https://fadal.com/)
* [Heidenhain](https://www.heidenhain.com/)
* [Sieg KX1](https://www.sieg.co.za/)
* Hafco HM-50
* Centroïd M40
* [Centroïd M40](https://www.centroidcnc.com/)
* Anilam Crusader M
* Gravos
* WinPC-NC
* ShopBot MTC
* Lynx Otter o
* ...
* [Gravos](https://www.gravos.cz/)
* [WinPC-NC](https://www.lewetz.de/de/)
* [ShopBot MTC](https://shopbottools.com/)
* [Lynx Otter o](https://lynx-poland.com/)
* and more...


## 📒 Files Organisation

```graphql
.
├── config - # 'startup' and 'userpref' blend files
├── documentation - # How to Use (Wiki) - files
├── Examples - # Bas Relief & Intarsion operation demo files and images
├── scripts
│   └── addons
│      └── cam - # Main Addon Folder
│         ├── nc - # Post-Processors
│         ├── opencamlib - # OpenCAMLib functions
│    ├── presets - # Quick access to pre-defined cutting tools, machines and operations
│    │ ├── cam_cutters
│    │ ├── cam_machines
│    │ └── cam_operations
│ ├── tests - # Developer Tests
│ │ └── test_data - # Test output
│ └── ui_panels - # User Interface
└── static - # Logo

config/ - # 'startup' and 'userpref' blend files
Examples/ - # Bas Relief & Intarsion operation demo files and images
scripts/
└── addons/
├── cam/ - # Main Addon Folder
│ ├── operators/ - # Blender Operators
│ ├── post_processors/ - # CAM Post-Processors
│ ├── presets/ - # Quick access to pre-defined cutting tools, machines and operations
│ │ ├── cam_cutters/
│ │ ├── cam_machines/
│ │ └── cam_operations/
│ ├── properties/ - # Blender PropertyGroups to store Machine, Operation, Cutter data
│ ├── tests/ - # Developer Tests
│ │ └── test_data/ - # Test output
│ ├── ui/ - # Blender User Interface
│ │ ├── icons/ - # .png files for custom icons
│ │ ├── menus/ - # viewport menu and sub-menus
│ │ ├── panels/ - # primary UI
│ │ └── pie_menu/ - # complete Pie Menu system
│ ├── utilities/ - # Low level helper functions
│ └── wheels/ - # Python Dependencies (as binary wheels)
└── docs/ - # User, Developer and API docs
└── _static/ - # Images for docs and README
```



## 🤝 Contribute
#### Fabex CNC CAM extension for Blender is in active development.

Originally created by [Vilem Novak](https://github.com/vilemduha), the addon is currently maintained by [Alain Pelletier](https://github.com/pppalain) and a team of contributors.

If you are a developer who would like to contribute to the project, please fork and open pull requests.
If you are a developer who would like to contribute to the project, check out the [Developer Guide](https://spectralvectors.github.io/blendercam/developers.html), fork the repository and open pull requests.

If you wish to contribute to the addon, your code must be GPL or a more permissive license (e.g.: MIT, Public Domain).
If you wish to contribute to the addon, your code must be GPL or a more permissive license. *(e.g.: MIT, Public Domain)*

> [!TIP]
> _If you need help or want to discuss about BlenderCAM you can join the [Chat Room #BlenderCAM:matrix.org on Matrix](https://riot.im/app/#/room/#blendercam:matrix.org)._
> _If you need help or want to discuss about **Fabex** you can join the [Chat Room #BlenderCAM:matrix.org on Matrix](https://riot.im/app/#/room/#blendercam:matrix.org)._
### Contributors
<a href="https://github.com/pppalain/blendercam/graphs/contributors">
Expand Down
25 changes: 0 additions & 25 deletions documentation/Blendercam Installation.md

This file was deleted.

Loading

0 comments on commit 329460c

Please sign in to comment.