http://cnc-club.ru/wiki/index.php/LinuxCNC_Features
Текущий статус разработки
- Дописать обработки.
- Отловить баги .
Код: Выделить всё
;py,milldraw.line_to(interpreter.this.params['draw_tmp_x'],interpreter.this.params['draw_tmp_y'])
Я помогу.Nick писал(а):Надо line-to, arc-to, может еще move-to.
И заглубление. И... что-нибудь еще .
Долго думал, без него практически никак. Суть какая, чтобы сделать заглубление под углом, надо делать разворот траектории. Без разворота можно сделать только для замкнутых контуров. Для ломаных я в принципе сделал, но выглядит это не лучше inline питона, т.к. синтаксис gкода сильно ограничен.verser писал(а):Вот по этомуhttp://cnc-club.ru/wiki/index.php/Linux ... subroutine есть тоже мнение.
Когда я вижу в окне исполнения g-coda такую строчкутрудно определить что за команда выполняется? не очень наглядно. Макросы еще куда бы ни шло, но inline python - не очень. ИМХО. Или я чего то недопонимаю?Код: Выделить всё
;py,milldraw.line_to(interpreter.this.params['draw_tmp_x'],interpreter.this.params['draw_tmp_y'])
Features ведь читает конфиг станка - пусть само автоматом адаптируется под прописанный там интерфейс.verser писал(а):Здесь выкладываю вариант без адaптации под gmoccapy - проверьте как пойдет под Axis.
После последних изменений единственное отличие features.py для gmoccapy - это отсутствие всего одной строчкиUAVpilot писал(а): Features ведь читает конфиг станка - пусть само автоматом адаптируется под прописанный там интерфейс.
Код: Выделить всё
subprocess.call(["axis-remote",PROGRAM_PREFIX + "/features.ngc"])
ну тогда можно добавить проверку :verser писал(а):После последних изменений единственное отличие features.py для gmoccapy - это отсутствие всего одной строчки
Код: Выделить всё
если Axis:
subprocess.call(["axis-remote",PROGRAM_PREFIX + "/features.ngc"])
как я это понимаю:verser писал(а):может, кстати и не нужна она, после добавления этих
self.linuxcnc.wait_complete()
выглядит как дублирование этого
self.linuxcnc.program_open(PROGRAM_PREFIX + "/features.ngc")
но у меня не настроен Axis, чтобы проверить.
выглядит как дублирование этого
и, что особо важно, ставит на паузу процесс ( в течении EMC_COMMAND_DELAY похоже), без этой команды в gmoccapy глючит обновление.nkp писал(а):linuxcnc.wait_complete() возвращает -1 -если предыдущая команда не выполнена
я имел ввиду что как бы дублируется в def refresh(self, *arg ) открытие features.ngcnkp писал(а):вот здесь непонятно :выглядит как дублирование этого
Код: Выделить всё
self.linuxcnc.program_open(PROGRAM_PREFIX + "/features.ngc")
Код: Выделить всё
subprocess.call(["axis-remote",PROGRAM_PREFIX + "/features.ngc"])
может и да:verser писал(а):я имел ввиду что как бы дублируется в def refresh(self, *arg ) открытие features.ngc
Вот например быстренько сделал рабочий вариант "мастера" circle с плавным заглублением(потребовалось минимальное изменение g-code в обычном circle) расчет траектории делает сам linuxcnc.verser писал(а):3. Плавно заглубиться на замкнутом контуре g-codом довольно легко. Можно во все "мастера" с замкнутым контурами добавить доп. способ заглубления - плавный (по спирали).
Представляю реально крутую группу "мастеров" - Chain, включающую видоизмененные lines, arcs и "соединитель" Link up.verser писал(а): 2. Хочется lines и arcs "сцеплять", чтобы шаг заглубления делался после прохождения всей цепочки, а не по-элементно как сейчас, например когда помещаешь lines в общую группу - они "сцепляются".
Согласен, сделаю.Nick писал(а):Супер!
ИМХО Depth, Depth step, Surface, Final, Rappid лучше убрать из обработок, и поставить в отдельный set cutting parameters...
Ну разве что Depth и Surface оставить, остальное для всех обработок будет одинаковым.