Tech support for factory machines. I used to work in a fairly modern (in terms of products) factory, and the SMT assembly machines were positively archaic. Most were decades old by the time I quit, they all had their own quirks, and very few people who could troubleshoot them. The factory was shut down every weekend, and getting the machines to talk to each other and the server on Monday mornings was a ritual just short of praying to the Omnissiah.
Piggybacking off this, CNC machining has a lot in common if you don’t mind getting your hands just a bit dirty. It’s a lot less manual labor than you’d expect and you typically won’t ever have to deal with a customer.
GCODE is simple to pick up the basics if you have any familiarity with 3D coordinates and many colleges will offer a fast-track course for around $2-3k. Depending on the area, some shops will even cover this cost while you’re starting.
I've done some gcode but moved onto other programming(mostly c# so completely different. One thing I HATED about gcode, I don't know if it was just my machines or gcode in general(most of mine were based on fanuc cnc controllers typically seen as top of the line) , we were not able to name variables.
I create a variable and assign it #315. What does #315 do? What does it mean? Who knows... Better have notes or comments to explain or your fucked. I can't say variable x_offset_tool_15 nope...just #315.
I worked with Fanuc control machines for 20 years up until 2023. Sounds like you were needlessly in macro hell. Just declaring an offset will use either an H (typically height) or D (typically a radius offset in Fanuc controls, but sometimes they are setup for diameter).
It would go something like this:
G40G49G80G90 (CLEARS OUT POTENTIALLY PREVIOUS GCODES);
T1M06 (EXECUTES A TOOL CHANGE, LEAVE OUT M06 IF JUST DECLARING THE TOOL);
G43H01 (DECLARES H01 AS THE HEIGHT OFFSET);
G00ZO.O1 (MOVES THE TOOL 0.01 ABAOVE WORK);
G41D01X1.0 (DECLARES LEFT HAND TOOL OFFSET AS D01);
You don't need true macro variables for 9/10 applications, or general operation. I feel like you got placed on some overenginered solution.