фильтр G кода

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Dmaster
Мастер
Сообщения: 1271
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

фильтр G кода

Сообщение Dmaster »

появилась странная задача установить чпу на странный универсально-фрезерный с чпу не контурный.
станок на швп и от одного мотора переключается от оси к оси. Переделывать механику смысла нет. На нем всё равно только сверлить.

Так вот задача поставить фильтр в LINUXCNC что-б ругался на наличие двух осей в одной строке, наличие G2 G3, наличие резьбовых циклов итд.

http://linuxcnc.org/docs/html/config/in ... er_section

Вот некий мануал из которого мне нифига не понятен принцип. да и возможно я смотрю не туда.

Если это не возможно, то отправить станок в аварию при попытке двигать 2 оси - не проблема, но хотелось сделать красиво)
" Linux CNC - наше всё"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

sed тебе в помощь
несколько примеров есть на форуме
с ним всё решишь
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

и даже не так)
если менять ничего в жкоде не собираешься,то
хоть на питоне ,хоть на любом скриптовом языке :
1. изловить нашу строку(и)
2. выдать сигнал(действие)
что в итоге должно произойти?
просто окошко с предупреждением?
какой gui ?
Аватара пользователя
Dmaster
Мастер
Сообщения: 1271
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: фильтр G кода

Сообщение Dmaster »

nkp писал(а):какой gui ?
axis
nkp писал(а):1. изловить нашу строку(и)
2. выдать сигнал(действие)
что в итоге должно произойти?
просто окошко с предупреждением?
именно) желательно с указанием строки.
Вопрос в том, куда скрипт прикручивать?
" Linux CNC - наше всё"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

в ини напиши

Код: Выделить всё

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
ngc = ./p.py
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
в папку конфига положи файл из вложения(сделай его исполняемым)
положу два варианта - один с yadом
захочешь - установишь - будет окошко вылезать - в нем напишешь и выведешь - что пожелаешь
это рыба(звиняй)
не разберешься - подмогну ;)
Вложения
p.py.tar
(10 КБ) 201 скачивание
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

это установка YAD
http://www.cnc-club.ru/forum/viewtopic. ... 69&p=96928
./configure
make
sudo make install
Вложения
yad-0.40.0.tar
(1.56 МБ) 225 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

это рыба без YAD
будет работать сразу
"рыба" потому как там только одно условие прописано
"если на одной строке мы нашли x и y"
надо прописать все "ненужные" варианты и комбинации
Вложения
p.py.tar
(10 КБ) 232 скачивания
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: фильтр G кода

Сообщение Serg »

nkp писал(а):положу два варианта - один с yadом
захочешь - установишь - будет окошко вылезать - в нем напишешь и выведешь - что пожелаешь
Проще обычным фильтром в строке с запрещённым кодом дописать пояснение обычными словами (не коментом!) - при загрузке УП LinuxCNC ругнётся на строчку с указанием её номера.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

если вместо

Код: Выделить всё

        print 'error' 
просто напишем

Код: Выделить всё

        print line, 'error' 
то этот фильтр как раз и будет делать такое , как выше предложил UAVpilot
ну как всегда - решений много
но если таки хочется теплого_лампового, или просто поиграть в "а вот я могу это одной строчной написать" - то тогда sed ( скорей всего его выше было названо "обычным фильтром" :) )
хотя если быть точным,то это просто сторонняя программа
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

как по мне - тут условия правильно выписать
ну например - символ X и Y может встретиться и в комментариях
это надо учесть
и тд и тп
а уже на каком языке это донести - дело второстепенное
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: фильтр G кода

Сообщение Serg »

А не надо искать всякие "X" и "Y", надо искать "[xX] *[0-9.][0-9.]*". :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

UAVpilot писал(а):А не надо искать всякие "X" и "Y", надо искать "[xX] *[0-9.][0-9.]*
это кому?
вроде бы всё написано выше - правильно прописать условия...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: фильтр G кода

Сообщение Serg »

Это пример. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

UAVpilot писал(а):Это пример.
та давай уже рыбу (ну ,не ту ,что у меня,а ту - из подписи твоей)
:hehehe:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

в питоне есть модуль re

Код: Выделить всё

import re
там весь инструментарий для парсинга
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: фильтр G кода

Сообщение Serg »

nkp писал(а):та давай уже рыбу (ну ,не ту ,что у меня,а ту - из подписи твоей)
Как-то так:

Код: Выделить всё

$ cat - | sed -e 's/\(^.*X[0-9.][0-9.]* *[YZ][0-9.][0-9.]*.*$\)/Bad command: \1/i' -e 's/\(^.*Y[0-9.][0-9.]* *[XZ][0-9.][0-9.]*.*$\)/Bad command: \1/i' -e 's/\(^.*Z[0-9.][0-9.]* *[XY][0-9.][0-9.]*.*$\)/Bad command: \1/i' -e 's/\(^.*G[23][^0-9].*$\)/Bad command: \1/i'
N123 G0 X123 Y234 Z345
Bad command: N123 G0 X123 Y234 Z345
G1 X222 Y333
Bad command: G1 X222 Y333
X444 Z777
Bad command: X444 Z777
G2 X555
Bad command: G2 X555
G1 X444
G1 X444
G0 Y777
G0 Y777
$ 
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: фильтр G кода

Сообщение nkp »

почему говорят: рыба ( в смысле - заготовка документа)?

Это просто сокращение от выражения "сырая рыба", то есть продукт, который еще надо приготовить, хотя основа уже имеется.

найдено на просторах интернета
UAVpilot писал(а):Как-то так:
как рыба - пойдет
но доработать напильником еще надо:

Код: Выделить всё

N123 G0 X   123 Y   234 Z    345
Ответить

Вернуться в «LinuxCNC»