можно взять текущие координаты из hal, но не факт, что они будут совпадать с координатами прописанными в Gкоде. Т.к. есть отступы, системы координат и прочее. Их значения по идее можно получить, но надо будет их отдельно обрабатывать...
canon - это объект/класс, описывающий координаты станка, он-же переводит координаты в движение осей и много чего ещё из этой области. От слов "canonical commands".
В принципе для нас это наверное не сильно важно, если мы просто хотим инвертировать траекторию... Т.е. наверное можно использовать что-то типа этого куска axis:
Код: Выделить всё
class DummyCanon:
1341 def comment(*args): pass
1342 def next_line(*args): pass
1343 def set_g5x_offset(*args): pass
1344 def set_g92_offset(*args): pass
1345 def set_xy_rotation(*args): pass
1346 def get_external_angular_units(self): return 1.0
1347 def get_external_length_units(self): return 1.0
1348 def set_plane(*args): pass
1349 def get_axis_mask(self): return 7
1350 def get_tool(self, tool):
1351 return tool, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0
1352 def set_feed_rate(self, rate): pass
1353
1354 def user_defined_function(self, m, p, q):
1355 self.number = p
canon = DummyCanon()
s3301 писал(а):Это результат взгляда "по диагонали" на исходники.
Эх вот бы было где-то описание всех этих модулей

...