Что я еще не знал о LinuxCNC, что нам еще предстоит сделать
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
это уже лучше))
фильтр срабатывает - запускает скрипт...
в скрипте ошибка отступа - питон требует соблюдения отступов - количества
пробелов в начале каждой строки...
иногда еще бяки винда вставляет ,если ее использовать для создания файла...
фильтр срабатывает - запускает скрипт...
в скрипте ошибка отступа - питон требует соблюдения отступов - количества
пробелов в начале каждой строки...
иногда еще бяки винда вставляет ,если ее использовать для создания файла...
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
nkp, а сколько там этих отступов должно быть? сегодня уже все, а вот завтра пока на фрезере растачиваться буду можно с компом пошаманить
нікому нічого не нав'язую.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
утром я тебе просто файл "правильный" выложу
так проще будет...
так проще будет...
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
nkp, под старый линукс?
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Просто должны быть одинаковые. (и в самом начале не должно быть, в питоне отступами обозначаются границы процедур, циклов и условий)aegis писал(а):nkp, а сколько там этих отступов должно быть?
Можешь в консоле запустить:
cat file.ngc | python filter.py
cat file.ngc - вывести содержимое файла (файл - твой файл с gкодом)
| - передать вывод следующей программе на вход
python filter.py наш скрипт
в итоге должен вывести преобразованый код.
PS для старой версии вот это может сработать:
#<_x> yz заменил на #5420 #5421 #5422
- Вложения
-
- filter.py.zip
- (357 байт) 336 скачиваний
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
в итоге ничего не изменилосьNick писал(а):в итоге должен вывести преобразованый код.
Код: Выделить всё
aegis@aegis-cnc:~$ cat filter.ngc | python filter.py
%
G7 G18 G90 G95
M3 S500
G0 Z0.5
g0 x-8
g0 u2
g0 w-4
g0 u2 w-2
g0 z1
g0 x-10 z30
M5
M30
%
aegis@aegis-cnc:~$
Код: Выделить всё
#!/usr/bin/env python
import sys, re
s = sys.stdin.read()
for l in s.split("\n") :
if re.search("G\d+.*[UVW]",l,re.I):
l = re.sub("U\s*([-\.0-9]+)","X[#5420+[\\1]]",l,re.I)
l = re.sub("V\s*([-\.0-9]+)","Y[#5421+[\\1]]",l,re.I)
l = re.sub("W\s*([-\.0-9]+)","Z[#5422+[\\1]]",l,re.I)
print(l)
else :
print(l)
нікому нічого не нав'язую.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
зделал подобную процедуру на новом пк - опять ничего не меняется в файле, тоесть фильтр не выполняется по сути дела
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
все время забываю, что re.I не работает для re.sub - т.е. шаблон искал только большие буквы.
Новый фильтр:
Новый фильтр:
Код: Выделить всё
#!/usr/bin/env python
import sys, re
s = sys.stdin.read()
for l in s.split("\n") :
if re.search("G\d+.*[UVW]",l,re.I):
l = re.sub("(?i)U\s*(-[\.0-9]+)","X[#5420\\1]",l)
l = re.sub("(?i)V\s*(-[\.0-9]+)","Y[#5421\\1]",l)
l = re.sub("(?i)W\s*(-[\.0-9]+)","Z[#5422\\1]",l)
l = re.sub("(?i)U\s*([\.0-9]+)","X[#5420+\\1]",l)
l = re.sub("(?i)V\s*([\.0-9]+)","Y[#5421+\\1]",l)
l = re.sub("(?i)W\s*([\.0-9]+)","Z[#5422+\\1]",l)
print(l)
else :
print(l)
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Nick,
Код: Выделить всё
aegis@aegis-cnc:~$ cat filter.ngc | python filter.py
File "filter.py", line 2
import sys, re
^
IndentationError: unexpected indent
aegis@aegis-cnc:~$
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Там файл есть, скачай лучше его.
ЗЫ как ты так копируешь текст, что у тебя добавляются пробелы?
ЗЫ как ты так копируешь текст, что у тебя добавляются пробелы?
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Nick, пробовал и копировать и качать с заменой. выделил/скопировал мышкой. где пробелы то?
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
aegis писал(а):Nick, пробовал и копировать и качать с заменой. выделил/скопировал мышкой. где пробелы то?
Код: Выделить всё
aegis@aegis-cnc:~$ cat filter.ngc | python filter.py
File "filter.py", line 2
import sys, re
^
IndentationError: unexpected inden
-------------
Файл "filter.py", строка 2
import sys, re
====^ <----вот тут
IndentationError: неожиданный отступ
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
так. удалил файл фильтра, заново скачал и разархивировал. фильтр отработал судя по консоли, попытался этот же файл открыть в емс - опять неизвестный символ пишет
нікому нічого не нав'язую.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
попробовал после фильтра закинуть содержимое в УП (мало ли какие глюки бывают),аут оф рейндж пишет
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
В консоли он отработал, а вот в LinuxCNC - нет. Если бы отработал внизу в коде был бы тот же текст, что и в консоли, а там оригинал.
В папкес конфигурацией точно поменял скрипт?
В папкес конфигурацией точно поменял скрипт?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Хммм может в 2.3.4 не было таких переменных вообще, не только буквенных?aegis писал(а):,аут оф рейндж пишет
Ну тогда подойдет только первый вариант.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Nick, точно. еще раз удалил из папки конфигурации и перекинул то что в корневой папке висело. все как в 454м посте. сейчас попробую откатиться на первый вариант и гляну
нікому нічого не нав'язую.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Код: Выделить всё
aegis@aegis-cnc:~$ cat filter.ngc | python filter.py
%
G7 G18 G90 G95
M3 S500
G0 Z0.5
g0 x-8
G90
g0 x2
G91
G90
g0 w-4
G91
G90
g0 x2 w-2
G91
g0 z1
g0 x-10 z30
M5
M30
%
aegis@aegis-cnc:~$
а не он W не отрабатывает чего-то... но емс всеравно ругается на 9ю строчку где U вперво попадается
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Вот тут в одной из строчек должна быть маленькая w.
l = l.replace("W","z")
l = l.replace("W","Z")
print(l)
l = l.replace("W","z")
l = l.replace("W","Z")
print(l)