/Snapmaker2Postprocessor

A FreeCAD postprocessor for Snapmaker 2 CNC module

Primary LanguagePythonEuropean Union Public License 1.2EUPL-1.2

Snapmaker2Postprocessor

Overview

This project provides a postprocessor for the Path Workbench of FreeCAD compatible with the CNC module of Snapmaker 2.0 (and possibly newer) machines.

It converts FreeCAD internal GCODE generated by the Path Workbench into GCODE suitable for Snapmaker 2.0 machines. Its functions cover:

  • Snapmaker CNC commands
  • tool change between operations (by inserting a HMI pause (M76))
  • drilling (by converting G81-G83 commands)
  • thumbnail generation for HMI
  • rapid moves (speed is not added by FreeCAD to GCODE)

Usage

Move the Snapmaker_2_CNC_post.py file to the FreeCAD macros directory. It should appear within the list of postprocessors of the Path workbench.

Check the wiki if you need more information.

Refer to FreeCAD documentation on how to use a postprocessor.

Limitations

This postprocessor has been tested on FreeCAD 0.20, 0.21 and 0.22 shipped with python3.8+. Generated GCODE should work on any Snapmaker 2 and newer machine, but has only been tested on the following ones:

  • A350
  • A250
  • Artisan

No warranty of any kind is provided, so be cautious as you use this postprocessor at your own risks. If you encounter any bug, please open an issue.

Credits

Parts of this postprocessor have been inspired by the Marlin postprocessor shipped along with FreeCAD.

License

This repository and its content are licensed under the EUPL-1.2-or-later.

Check https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12

This license is deemed to be compatible with the one used by FreeCAD.