For the longest time, I’ve really wanted to build some kind of free and open source application to give back to the open source community. Unfortunately, every idea I’ve ever had was either already done way better than I ever could, or was far too niche to justify continued development. Then one day as I was manually entering GCODE moves to face a piece of pine, I decided to write a JavaScript function to auto generate the repetitive moves. That’s when it hit me, I could write an application that you pass some basic parameters to and it spits out generic, non-model-specific GCODE!
I frequently need to prepare my stock using my MPCNC and that usually entails firing up Fusion 360, modeling my rough stock, creating a setup, choosing a tool, setting my facing operation parameters, and exporting the GCODE. This is a giant pain in the butt for me as I’d much rather just key in the parameters and generate some GCODE moves that don’t really need to worry all that much about the actual model itself.
Enter QuickOp: https://github.com/KasimAhmic/QuickOp
QuickOp aims to be multiple things:
- Simple. I want people to be able to key in their parameters and be off to the races. No CAD, no CAM, just GCODE.
- Hackable. I want to build a solid foundation so that anyone can create additional operations with minimal (hopefully none) futzing around with boring things like logging, writing to a file, calculating stats, etc.
- Reliable. The GCODE that QuickOp spits out should be safe to use on any machine and should be consistently good with any set of arbitrary (but reasonable) parameters.
- Pluggable. QuickOp is being developed more so as a library than anything else at the moment. I want people to be able to include it in their projects so they can have a high quality GCODE generator under the hood for basic operations. Think CNC.js with a built-in generator widget for facing, drilling, etc. operations.
QuickOp DOES NOT aim to be:
- A replacement for proper CAM software. If you need to mill a 3D relief, or engrave a fancy pants font, use some other CAM software.
All that said, the project really only just started a week ago so it has a LONG way to go . But that’s why I’m making this post; I’d like to get some community feedback early on so I don’t end up developing a mess on top of a mess.
If you’re a developer and are interested in contributing, I’d be happy to take any feedback/criticism you have (or better yet, pull requests ). Again, I’m trying to develop as high a quality application as I can muster so nothing is too minor to point out!
If you’re not a developer, I’d appreciate any feature requests or suggestions for what you’d like to see in QuickOp. Eventually, I’ll build out a UI for running it in both a browser and locally on your computer so I’ll definitely need ideas for what people want to see there.
A not-very-set-in-stone roadmap for the project is as follows:
- Finish the Spiral Facing operation
- Add a Polygon generator (cuts out various shapes)
- Add proper build and release processes
- Upload the package to NPM
- Create a UI for browser usage
- Port the UI for running on your computer via Electron
- Look into making a widget for CNC.js
I look forward to any feedback you guys have! Feel free to open issus or pull requests over on the GitHub page: https://github.com/KasimAhmic/QuickOp
Happy milling!