Что я еще не знал о LinuxCNC, что нам еще предстоит сделать

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

это уже лучше))
фильтр срабатывает - запускает скрипт...
в скрипте ошибка отступа - питон требует соблюдения отступов - количества
пробелов в начале каждой строки...
иногда еще бяки винда вставляет ,если ее использовать для создания файла...
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение aegis »

nkp, а сколько там этих отступов должно быть? сегодня уже все, а вот завтра пока на фрезере растачиваться буду можно с компом пошаманить
нікому нічого не нав'язую.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

утром я тебе просто файл "правильный" выложу ;)
так проще будет...
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение aegis »

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

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

filter.py.rar
(272 байт) 450 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

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 байт) 332 скачивания
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение aegis »

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, что нам еще предстоит сдел

Сообщение aegis »

зделал подобную процедуру на новом пк - опять ничего не меняется в файле, тоесть фильтр не выполняется по сути дела
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

все время забываю, что re.I не работает для re.sub - т.е. шаблон искал только большие буквы.

Новый фильтр:
filter.py.zip
(376 байт) 290 скачиваний

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

#!/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, что нам еще предстоит сдел

Сообщение aegis »

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, что нам еще предстоит сдел

Сообщение Nick »

Там файл есть, скачай лучше его.

ЗЫ как ты так копируешь текст, что у тебя добавляются пробелы?
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение aegis »

Nick, пробовал и копировать и качать с заменой. выделил/скопировал мышкой. где пробелы то?
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

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 »

так. удалил файл фильтра, заново скачал и разархивировал. фильтр отработал судя по консоли, попытался этот же файл открыть в емс - опять неизвестный символ пишет
Screenshot-3.png (2800 просмотров) <a class='original' href='./download/file.php?id=58780&sid=c481d62d3d9ef5dda960a1969a898f4d&mode=view' target=_blank>Загрузить оригинал (88.42 КБ)</a>
нікому нічого не нав'язую.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение aegis »

попробовал после фильтра закинуть содержимое в УП (мало ли какие глюки бывают),аут оф рейндж пишет
Screenshot-4.png (2798 просмотров) <a class='original' href='./download/file.php?id=58781&sid=c481d62d3d9ef5dda960a1969a898f4d&mode=view' target=_blank>Загрузить оригинал (100.01 КБ)</a>
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

В консоли он отработал, а вот в LinuxCNC - нет. Если бы отработал внизу в коде был бы тот же текст, что и в консоли, а там оригинал.

В папкес конфигурацией точно поменял скрипт?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

aegis писал(а):,аут оф рейндж пишет
Хммм может в 2.3.4 не было таких переменных вообще, не только буквенных?
Ну тогда подойдет только первый вариант.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение aegis »

Nick, точно. еще раз удалил из папки конфигурации и перекинул то что в корневой папке висело. все как в 454м посте. сейчас попробую откатиться на первый вариант и гляну
нікому нічого не нав'язую.
Аватара пользователя
aegis
Мастер
Сообщения: 3171
Зарегистрирован: 22 мар 2012, 06:59
Репутация: 1810
Настоящее имя: Михайло
Откуда: Україна, Конотоп=>Запоріжжя=>Харьків

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение aegis »

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

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:~$ 
фильтр отрабатывает, но не полностью. когда в строчке встречается сразу 2 координаты первуб меняет а вторую оставляет как есть. само емс не хавает (заменял питон в папке конфигурации) и опять жалуется ан неизвестный символ в 9й строчке.
а не он W не отрабатывает чего-то... но емс всеравно ругается на 9ю строчку где U вперво попадается
нікому нічого не нав'язую.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

Вот тут в одной из строчек должна быть маленькая w.
l = l.replace("W","z")
l = l.replace("W","Z")
print(l)
Ответить

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