No description
  • Python 99.8%
  • G-code 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Eric Streit 88f4f7c39a Phase 0: workbench skeleton, portable core and GRBL postprocessor
- FreeCAD workbench skeleton (package.xml, Init/InitGui, job object, commands)
- portable core: neutral IR, machine profiles, preflight validation
- GRBL 1.1/grblHAL postprocessor and built-in profile
- 39 unit tests with a golden G-code reference
- demo and CAM-reuse spike tools
- ADRs (GPL-3.0-or-later, architecture, export-only, FreeCAD 1.1) and phase 0 report
2026-10-18 16:45:11 +02:00
docs Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
laserwb Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
Resources Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
tests Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
tools Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
.gitignore Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
freecad-laser-workbench-analyse-v2.md Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
freecad-laser-workbench-analyse.md Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
Init.py Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
InitGui.py Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
LICENSE Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
package.xml Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
pyproject.toml Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
README.md Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00
THIRD_PARTY.md Phase 0: workbench skeleton, portable core and GRBL postprocessor 2026-10-18 16:45:11 +02:00

FreeCAD Laser Workbench

Atelier FreeCAD pour préparer des travaux de gravure et découpe laser : import de SVG, DXF, images et géométrie FreeCAD, définition d'opérations et de passes, génération et vérification des parcours, export de G-code pour GRBL (1.1 / grblHAL) et, à terme, d'autres contrôleurs.

  • Contrôleur prioritaire : GRBL 1.1 / grblHAL
  • Version FreeCAD cible : 1.1.x (compatibilité 26.3 testée)
  • Licence : GPL-3.0-or-later
  • Statut : phase 0 (squelette + noyau + postprocesseur GRBL)

Principe

La géométrie et les instructions machine sont séparées :

géométrie → opérations → parcours → IR neutre → postprocesseur → G-code

Le noyau (laserwb.core, laserwb.post) est du Python pur, testable sans FreeCAD. La couche FreeCAD (laserwb.freecad) ne fait que l'adaptation (document, interface, commandes). Les différences entre contrôleurs sont décrites par des profils machine JSON, pas codées en dur.

Installation

Développement :

git clone http://git.yojik.eu/eric/FreecadLaserWorkbench

Puis, pour FreeCAD, lier ou copier le dépôt dans le répertoire Mod de l'utilisateur (~/.local/share/FreeCAD/Mod sur Linux, %APPDATA%\FreeCAD\Mod sur Windows), ou l'installer via l'Addon Manager en pointant sur ce dépôt. Redémarrer FreeCAD et activer l'atelier Laser.

Tests

Aucune dépendance externe (le noyau est en Python pur) :

python3 -m unittest discover -s tests -t . -v

Démonstration hors FreeCAD :

python3 tools/demo_square.py

Dans FreeCAD, pour vérifier la réutilisation éventuelle de l'atelier CAM :

FreeCADCmd tools/spike_cam_reuse.py

Structure

package.xml                     métadonnées Addon Manager
Init.py / InitGui.py            points d'entrée FreeCAD
laserwb/
  core/                         noyau Python pur (IR, profils, validation)
  post/                         postprocesseurs (GRBL)
  profiles/                     profils machine livrés (JSON)
  freecad/                      adaptateurs FreeCAD (document, GUI, commandes)
  resources/                    icônes
tests/                          tests unitaires et fichiers de référence
tools/                          scripts de démonstration et spikes
docs/                           étude de faisabilité, ADR, rapports
Resources/                      sources d'étude tierces (voir Resources/README.md)

Documentation

  • freecad-laser-workbench-analyse-v2.md : étude de faisabilité v2.
  • docs/phase-0.md : rapport de phase 0.
  • docs/adr/ : décisions d'architecture.
  • THIRD_PARTY.md : provenance et licences des sources étudiees/réutilisées.

Licence

GPL-3.0-or-later. Voir LICENSE. Les sources tierces étudiées sont recensées dans THIRD_PARTY.md et Resources/README.md.