Binaries available https://github.com/postincrement/MoonCutter/releases
- Cross platform thanks to ElectronJS
- Engrave bitmaps and text
- Add a fan button to the engrave tab
- Make rotation use centre of object
- Save and load projects and settings
This program would not have been possible without the work of Marcel Ochsendorf who reverse engineered the protocol.
His project has more information:
https://github.com/RBEGamer/K3_LASER_ENGRAVER_PROTOCOL
This is a normal ElectronJS program so the usual instructions apply.
- Make sure you have Node.js installed
- Clone this repository
- Install dependencies:
npm installTo start the application, run:
npm startThere are several ways to debug the application:
- Main Process Debugging:
npm run debug # Start with debugger attached
npm run debug-brk # Start with debugger attached and break on first line-
To debug the main process:
- Start the app with
npm run debug - Open Chrome and navigate to
chrome://inspect - Click on "Open dedicated DevTools for Node"
- Start the app with
-
To debug the renderer process:
- Start the app normally
- Press Ctrl+Shift+I (Windows/Linux) or Cmd+Option+I (macOS) to open DevTools
- Or use the debug mode which opens DevTools automatically
MoonCutter can be packaged as a native application for macOS and Windows using electron-builder.
- Node.js and npm installed
- For Windows builds on macOS/Linux: Wine installed
npm run package:macThis creates a .dmg installer in the dist folder.
npm run package:winThis creates a Windows installer in the dist folder.
If you are building the Windows installer on MacOS, and the installed program crashes with an error about binding.node not being a valid Win32 program, run the following command rebuild the installer:
rm -rf node_modules/\@serialport/bindings-cpp/build/Release/bindings.node
npm run packageThis builds installers for all configured platforms.
For MacOS:
- ensure the icons are in
images/icon.iconsetas.pngfiles - run the command in the
imagesdirectory
iconutil -c icns icon.iconsetFor Windows:
- the icon is in
images/icon.ico