I've been using QCAD for the last 10 years now, but having bought a laser cutter with no modern driver support, I've ended up moving over to QCAD-CAM.
Long story short, I've had to figure out HPGL/2 (and PCL/HPRTL), and built my own post processor that can create files that the machine can use. QCAD being one of a very short list of apps that produces clean HPGL (via the HPPlotter processor with comments removed - the old HPGL processor doesn't quite work).
At present I have to send the exported file using LPR (in raw mode) on the command line. That's simple enough, but could be replaced by a UI button easily enough.
To clean up the workflow, I'm happy enough to have a shell or Ruby/Python script etc that will do that, provided a path is passed to it. The CAM config knows the path, so calling the script or even LPR directly with the file path is easy enough. I have no idea about the structure of QCAD (yet :/ ) so not sure what the best approach is. It's really only applicable to my post processor, so I'm hoping I can add it into the code for that and only have it appear on the UI when it's selected? That or a generic UI button that does nothing when a variable in the post processor (like the resolved command and path) is empty. Is there any scope to add extra fields etc in the CAM configuration menu for extra stuff to be passed? Would be nice to set the printer name or path there. I'm not adverse though to an external script, as then I can point Fusion 360 at it (I'll probably build a processor for that too).
Second, I'd really love a text preview as well within QCAD of the raw output of the post processor. I don't know if this is available in form of debug tools already or what, but as another button enabled feature that allows me to quickly scan over the code for gremlins before hitting 'upload' would be great.
Any tips/advice would be much welcome. I'm doing this on the side of my normal stuff, so as many shortcuts and hacks as possible are welcome

Jon