Снятие карты и работу с ней в реальном времени не хотите приделать?
Мелькнула, было, мысль, я её пока изгнал - не хватит мозгов преодолеть сопутствующие трудности.
Я не программист, как вы, наверное, уже заметили, если посмотрели исходники - всё просто и примитивно. Теоретически, посмотрев, как это делает Кэндл, можно выделить три основных этапа -
1. Получение рабочей области УП - мин. - макс. координаты по осям, для сканирования по заданной сетке.
Способ, который мне известен (пробежаться по строкам УП и получить эти размеры) - на больших УП при слабых возможностях МК ущербен своей длительностью.
2. Сканирование поверхности. Тут ещё как-то понятно - согласно настроек сетки сканирования перемещаемся и определяем разницу по высоте от 0 точки и пишем их в табличку.
3. Применение таблички из п.2. Как-то на лету до отправки строки в станок, определять координаты по ХУ, рассчитывать, что должно быть по Z и формировать новую строку, которую и отправлять.
Возможно, ошибаюсь и как-то ещё можно всё это реализовать, но пока я даже и не вникал...
Потом визуализация, изготовление уп,корректировка,...
Первые два пункта, конечно, лишние, а вот корректировка по углу поворота - штука интересная, т.к. не нужно точно выставлять заготовку по осям. Но команда поворота системы координат на заданный угол
G68 GRBL не поддерживается.
Ну да и фиг с ним - поставил упорчик, обкатал индикатором и ставь заготовку.