I had a lot of practice with programming in various languages in my day job years ago, but these days that just qualifies me to be dangerous, not good
. So my take on SheetCAM is that Les did quite a nice job designing and building it, especially making SC extensible in several different ways and at different levels of complexity, allowing different skill sets of users to interact and extend it as need be. Once I realized this, I decided to use the scpost as the primary function extending, function customizing interface. Some other interfaces that are more user friendly are Path Rules, Action Points, and Code Snippets, and those can also be used with stock or customized scpost.
The scpost documentation, linked in Options->Machine->Post processor window, is quite good as a reference. I read some of the shipped scpost files to get some sense of patterns and necessary operations, and occasionally I use the Lua language reference linked from the scpost doc. I practiced with SC for about a month before I purchased a lic and recall it being a challenge to digest all of its bells and whistles. I’m sure I watched some youtube about SC also but I can’t recall which ones, and the Help tutorials and help doc continue to be useful.
re. grbl as a controller - if you haven’t looked at grblHAL yet its worth a look. If I were building another CNC and picking a controller suitable for milling, plasma, and laser processes, I’d almost certainly use grblHAL and its associated hardware/interface boards. I purchased this board earlier this year when I thought I’d be switching over to it, but have since resolved the issue that drove me to consider grblHAL and thus now I’m not in such a hurry to switch, but some day perhaps. grblHAL has THC Z axis management code and integrates with either its own THC board or a commercial unit like a Proma THC 150.