Вам не нужно одновременное совместное движение по не скольким осям, этим все сказано. Привязывая себя к G-коду, Вы тем самым привязываетесь к готовым контроллерам ЧПУ, что ограничит дальнейшие возможности. Для Вашей задачи достаточно отдавать СВОЕМУ контроллеру команду на заданное число шагов, дожидаться от него ответа о выполнении команды, а затем делать аналогичное с другой осью. При достижении концевого выключателя движение по оси должно аппаратно останаливаться с выдачей соответствующего флага в компьютер.
Это в 100 раз проще, чем на станке. Протокол подойдет любой, можно хоть число шагов передавать в текстовом виде с названием оси вначале и символом перевода каретки в конце пакета.
Если создание такой программы является для Вас трудной задачей, то мне грустно.
Слесарь Вам не нужен, легко можно купить готовые приводы для CNC из конструкционного профиля, которые соединяются между собой готовым крепежом в пазах профиля
https://www.ebay.c …2bJbfg0hprQ:rk:18:pf:0
https://www.soberizavod.ru/catalog/
Адаптируя свой софт к 3Д принтеру Вы потратите время впустую, это тупиковый путь.