LinuxCNC Features - набор мастеров для LinuxCNC

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

LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS.png (216314 просмотров) <a class='original' href='./download/file.php?id=15468&mode=view' target=_blank>Загрузить оригинал (153.61 КБ)</a>
Как некоторые уже заметили я пропал на недельку. И пропадал я не зря. Наконец-то решил сделать достойную замену ngcgui.
LinuxCNC Features это тулкит для создания "мастеров". Точнее это тулкит самих "мастеров". В общем и целом LinuxCNC Features работает схоже с ngcgui, но с некоторыми отличиями. Честно говоря, с ngcgui я до конца так и не разобрался, поэтому это я считаю, что он работает схоже :freak:. (Название Features взято от кнопки в ngcgui - add feature.)
В wiki cnc-club добавлена страница о LinuxCNC Features, давайте вместе ее наполнять документацией, видео и прочими полезными материалами.
http://cnc-club.ru/wiki/index.php/LinuxCNC_Features

Текущий статус разработки

  • Дописать обработки.
  • Отловить баги :freak: .
Возможности (для просмотра содержимого нажмите на ссылку)
Что может LinuxCNC Features:
  1. Добавлять features - простые обработки
  2. Менять их порядок
  3. Группировать обработки
  4. Делать линейные и круговые массивы
  5. Встраиваться в axis LinuxCNC или работать как отдельной приложение
  6. Просматривать резултьтат в axis в редиме реального времени
  7. Сохранять шаблоны обработок
Это только пока :).
Скриншоты (для просмотра содержимого нажмите на ссылку)
Пара примеров обработки, созданной за 20 сек:
LinuxCNC-Features1.png (216603 просмотра) <a class='original' href='./download/file.php?id=14825&mode=view' target=_blank>Загрузить оригинал (158.39 КБ)</a>
LinuxCNC-Features.png (216603 просмотра) <a class='original' href='./download/file.php?id=14826&mode=view' target=_blank>Загрузить оригинал (166.41 КБ)</a>

Скрины предыдущих версий

Саме начало
LinuxCNC Features.png (216607 просмотров) <a class='original' href='./download/file.php?id=14824&mode=view' target=_blank>Загрузить оригинал (68.04 КБ)</a>
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Сергей Саныч »

Посмотрел, как Шиткам отрабатывает заглубление незамкнутого контура.
Зигзагом. Задается угол заглубления (Ramp Angle) и фреза елозит туда-сюда, пока не достигнет нужной глубины. Скорость подачи при заглублении (Ramp Feed), кстати, задается отдельно.

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

 G00 Z20.0000
 X26.5000 Y8.0000
 Z0.5000
 G01 Z0.0000 F200
 X36.0000 Z-1.6751
 Y3.5000 Z-2.4686
 Y8.0000 Z-3.2620
 X26.5000 Z-4.9372
 X36.0000 Z-6.6123
 Y3.5000 Z-7.4057
 Y8.0000 Z-8.1992
 X26.5000 Z-9.8743
 X27.2128 Z-10.0000
 X26.5000 F500
 X36.0000
 Y3.5000
 G00 Z60.0000
Здесь режется паз из двух отрезков - горизонтального и вертикального. Ramp Angle 10 градусов.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

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

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение nkp »

люди интересуются :)
Ник - не забрасывай это дело ;)
http://www.c-n-c.cz/viewtopic.php?f=34&t=12626&start=0
http://www.cnc.info.pl/topics54/linuxcn ... t49052.htm
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

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

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение nkp »

пару вопросов по коду :

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

	def refresh(self, *arg ) :
		f = open(PROGRAM_PREFIX + "/features.ngc","w")
		f.write(self.to_gcode())
		f.close()
		self.stat.poll()
		if self.stat.interp_state == linuxcnc.INTERP_IDLE :
			self.linuxcnc.reset_interpreter()
			self.linuxcnc.mode(linuxcnc.MODE_AUTO)
#			self.linuxcnc.program_open(PROGRAM_PREFIX + "/features.ngc")
			subprocess.call(["axis-remote",PROGRAM_PREFIX + "/features.ngc"])
здесь как бы дублируетя открытие программы(g-code) в Axis:
self.linuxcnc.program_open - по идее должна открывать
ну и через axis-remote...
вот так - с закомментированной program_open вроде бы работает :thinking:
наверно какая то причина в этом есть...
-------
еще пытался читать о axis-remote здесь , но так и не понял :
почему в документации нет описания "Open" ?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

А как там у меня в оригинале (без комментария стоит)?
Насколько я помню self.linuxcnc.program_open не обновлял предпросмотр, а только давал файл интерпретатору. При этом axis ничего про него не знал...
второй способ не помню... OPEN вроде как нет совсем... может axis-remotе filename = open... помню долго мудохался с ним...

----

А точно, я же как раз там и написал, что в манах ничего нет, но в коде есть такие строки:

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

if mode == UNSPECIFIED:
mode = OPEN
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение nkp »

там ngcgui на питоне сваяли - так там обходятся только axis-remote :
(для просмотра содержимого нажмите на ссылку)

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

def send_to_axis(filename): # return True for success
    # NB: file with errors may hang in axis gui
    s = subprocess.Popen(['axis-remote',filename]
                         ,stdout=subprocess.PIPE
                         ,stderr=subprocess.PIPE
                         )
    p,e = s.communicate()
    if s.returncode:
        print(_('%s:send_to_axis: stdout= %s') % (g_progname,p))
        print(_('%s:send_to_axis: stderr= %s') % (g_progname,e))
        return False
    if p: print(_('%s:send_to_axis: stdout= %s') % (g_progname,p))
    if e: print(_('%s:send_to_axis: stderr= %s') % (g_progname,e))
    return True
но может тут все в одном окошке - потому и работает...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Serg »

Уж сколько лет минуло....
Feature ini file rect.ini not found in /home/serg/wrk/cnc/linuxcnc-features/subroutines:!
В реальности лежит в subroutines/mill/
Feature ini file rect-center.ini not found in /home/serg/wrk/cnc/linuxcnc-features/subroutines:!
тоже лежит в subroutines/mill/
Feature ini file mill/group.ini not found in /home/serg/wrk/cnc/linuxcnc-features/subroutines:!
В реальности лежит в subroutines/
Feature ini file probe-tool-l.ini not found in /home/serg/wrk/cnc/linuxcnc-features/subroutines:!
такого вообще нет (а нужен)
Feature ini file gcode.ini not found in /home/serg/wrk/cnc/linuxcnc-features/subroutines:!
В реальности лежит в subroutines/gcode
Feature ini file set-probing-params.ini not found in /home/serg/wrk/cnc/linuxcnc-features/subroutines:!
В реальности лежит в subroutines/mill/

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

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

Должно быть все, что относится к фрезеру в mill токарка - lathe, все остальное куда придется :freak:
probe - пока хз можно отдельно в mill и lathe делать - там они могут быть разными
group, array и прочее - пока хз как назвать
gcode - можно здесь же, можно в диру gcode пихнуть и тудаже запихать всякие G91 92 53 и прочее.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Serg »

Nick писал(а):probe - пока хз можно отдельно в mill и lathe делать - там они могут быть разными
Вынес в subroutines/, в mill/ и lathe/ сделал симлинки.
Nick писал(а):group, array и прочее - пока хз как назвать
ну и пусть в subroutines/ лежат.

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

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

UAVpilot писал(а):Теперь самое сложное - полез в код плохо зная питон...
Чего сделать то хочешь?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Serg »

Сделал чтоб можно было хотя б прямоугольничек вырезать. :)
Вот патчик:
linuxcnc-features.patch.gz
(2.92 КБ) 990 скачиваний
На сегодня пока всё - рабочий день кончился... :)

P.S. Условия испытаний: конфиг linuxcnc "дефолтный", например сразу из-под stepconf, linuxcnc-features скачаны в любой каталог и запускается из него командой
features.py --ini=/path/станок.ini
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
wick3
Мастер
Сообщения: 236
Зарегистрирован: 24 июл 2011, 02:01
Репутация: 29
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение wick3 »

А у меня такая проблема
(для просмотра содержимого нажмите на ссылку)
Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
Waiting for component 'gladevcp' to become ready......
(gladevcp:1479): XML-CRITICAL **: XML declaration allowed only at the start of the document


(gladevcp:1479): libglade-WARNING **: did not finish in PARSER_FINISH state
.
<commandline>:0: gladevcp exited without becoming ready
1304
PID TTY STAT TIME COMMAND
1418
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Умом и кувалдой
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение nkp »

а каким способом запускалась программа?
встраивался виджет или просто скачали-распаковали с гитхаб архив и запустили?
Аватара пользователя
wick3
Мастер
Сообщения: 236
Зарегистрирован: 24 июл 2011, 02:01
Репутация: 29
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение wick3 »

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

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение nkp »

а виджет в самом редакторе Glade появился?
Аватара пользователя
wick3
Мастер
Сообщения: 236
Зарегистрирован: 24 июл 2011, 02:01
Репутация: 29
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение wick3 »

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

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

Погоди, ты хотел куда-то отдельно виджет вставить?
Аватара пользователя
wick3
Мастер
Сообщения: 236
Зарегистрирован: 24 июл 2011, 02:01
Репутация: 29
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение wick3 »

nkp писал(а):затем в ini файле в разделе [DISPLAY] пропишем : GLADEVCP = name.ui
- вот после этого шага крашит ЕМС
Умом и кувалдой
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Сообщение Nick »

А откуда это? Дай ссылку на исходное сообщение...
Ответить

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