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 (198355 просмотров) <a class='original' href='./download/file.php?id=15468&sid=fd726cdf01de990cac105feecc595e78&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 (198644 просмотра) <a class='original' href='./download/file.php?id=14825&sid=fd726cdf01de990cac105feecc595e78&mode=view' target=_blank>Загрузить оригинал (158.39 КБ)</a>
LinuxCNC-Features.png (198644 просмотра) <a class='original' href='./download/file.php?id=14826&sid=fd726cdf01de990cac105feecc595e78&mode=view' target=_blank>Загрузить оригинал (166.41 КБ)</a>

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

Саме начало
LinuxCNC Features.png (198648 просмотров) <a class='original' href='./download/file.php?id=14824&sid=fd726cdf01de990cac105feecc595e78&mode=view' target=_blank>Загрузить оригинал (68.04 КБ)</a>
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

123.jpg (3381 просмотр) <a class='original' href='./download/file.php?id=15523&sid=fd726cdf01de990cac105feecc595e78&mode=view' target=_blank>Загрузить оригинал (90.17 КБ)</a>
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

везде ругается на глобальные параметры
Выделение(030).jpg (3373 просмотра) <a class='original' href='./download/file.php?id=15524&sid=fd726cdf01de990cac105feecc595e78&mode=view' target=_blank>Загрузить оригинал (255.26 КБ)</a>
где они должны по идее определяться??
более -менее работает только многогранник:
Выделение(032).jpg (3373 просмотра) <a class='original' href='./download/file.php?id=15526&sid=fd726cdf01de990cac105feecc595e78&mode=view' target=_blank>Загрузить оригинал (394.84 КБ)</a>
и еще:
что такое rappid (по моему даже гугл не знает такого слова ;) )
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

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

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

Сообщение nkp »

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

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

Сообщение Nick »

nkp писал(а):то есть скажи в двух словах порядок работы:
сейчас нужно сперва запустить емс , потом чудо-программу,потом сгенерировать ж-код(пока еще не пробовал),
и просто сохранить пока ,или уже экспорт есть в сам емс??
Все будет работать точно также, просто окно не встроенно в панель axis. Экспорт работает, превью работает.
nkp писал(а):сразу о мелочах - из которых складывается удобство:
пусть выбор будет двойным кликом по картинке ,но навигацию (стрелочкой)
сделать просто одиночным кликом:
Согласен с Алекссом, тем более это стандартный виджет.
nkp писал(а):в принципе можно и такие странички сюда вставлять:
Можно и такие, но имхо, лучше, когда все одним списком, как у Сименсов. Так ничего не пропустишь и не надо глазами по всему экрану скакать.
Кстати, всем параметрам можно назначить опцию image=...png тогда при выборе этого параметра будет показываться заданная картинка - aka help по параметру.
Help показывается только когда выбираешь что-то в дереве features.
nkp писал(а):везде ругается на глобальные параметры
Надо добавить set cutting parameters из Tool. Это сделано для единообразия задания глубины обработки. Кстати, можно сразу сделать шаблон со всеми параметрами и сохранить его в template.xml - он открывается при загрузке features.
nkp писал(а):и еще:
что такое rappid (по моему даже гугл не знает такого слова )
Это быстрые перемещения (G0)... может с одной "p" должно писаться... :freak:
Точнее высота на которой делается G0
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

А почему у тебя уже что-то переведено??? :)
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

Ник, а как быть с инструментом ?
Чтобы компенсация/визуализация работала, его надо в табличку вставить. так ?
Или я опять все пропустил ?
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

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

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

Сообщение nkp »

Nick писал(а):А почему у тебя уже что-то переведено???
а я посмотрел - "GNU General Public License" - так что ничего не нарушаю :hehehe:
-------------
по поводу безопасной высоты - устоялось уже вроде сочетание "zsafe" (везде в ngcgui)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Алексс писал(а):Ник, а как быть с инструментом ?
Эти процедуры надо еще дописать, пока можно вставить Gкод из Gкод ( :) ) и в нем написать G43 или как оно там задается :)
Иконки все в icons.svg, там внутри написано, что с ними делать, в двух словах, рисуешь иконку, потом ее кладешь в группу и группе делаешь название с именем иконки. Потом create_icons.py и в каталогах появляются файлы.
Про тот как лучше рисовать потом еще напишу.
Если редактировать текущий файл - обрати внимание, что нужно выключить опцию изменять толщину обводки, чтобы обводка была везде одинаковая.
nkp писал(а):а я посмотрел - "GNU General Public License" - так что ничего не нарушаю
Сейчас думаю, как к этому всему gettext прикрутить... тогда будешь переводить, а пока нечего народ стращать :hehehe:
хммм zsafe ... надо подумать :). Я где-то видел уже этот rappid...
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

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

Сообщение aftaev »

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

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

Сообщение Nick »

Кто-нибудь работал с gettext???
Как с ним вообще работать...
Пока сделал сбор того, что нужно переводить.
Но, есть одно "но"... Многое из того, что надо переводить лежит в ини файлах, а нормального парсера для них нет. В общем сделал свой хак...

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

	def get_translations(self) :
		os.popen("xgettext --language=Python features.py -o tmp.po")
		
		find = os.popen("find ./subroutines/ -name *.ini").read()
		translatable = []
		for s in find.split() :
			print s
			global SUBROUTINES_PATH 
			SUBROUTINES_PATH = "./"

			f = Feature(s)
			for i in ["name", "help"] :
				if i in f.attr :
					s1 = f.attr[i]
		 			translatable.append((s,s1))
			for p in f.param :
				for i in ["name", "help", "tool_tip"] :
					if i in p.attr :
						s1 = p.attr[i]
			 			translatable.append((s,s1))
		out = []
		for i in translatable : 
			out.append( "#: %s"%i[0] )
			s = i[1].replace("\\","\\\\").replace("\"","\\\"").replace("\n","\\n")
			out.append( "_(%s)"%repr(i[1]) )
			
			#out.append( 'msgid "%s"'%s )
			#out.append( 'msgstr ""' )
			#out.append( '' )
		out = "\n".join(out)	
		open("subroutines-ini-files","w").write(out)
		os.popen("xgettext --language=Python tmp1.py -o tmp1.po")
		os.popen("msgmerge messages.po tmp.po -U")
		os.popen("msgmerge messages.po tmp1.po -U")
		os.popen("rm tmp1.po tmp.po subroutines-ini-files")
		
Ладно, у нас теперь есть messages.po, но что с ним дальше делать ???
Вложения
messages.po.zip
(3.22 КБ) 443 скачивания
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

похоже я лучший тестер.
ничего не работает :)

пункт 1 готово
2
3
4
нет ибо нихренашеньки не понятно что сделать :)
окно запускается но ни одна кнопка не работает.

долго медитировал на список 2,3,4, выполнил 3.

теперь ваще не запускается, хочет калькулатор

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

root@emc:/usr/share/pyshared/gladevcp# gladevcp features.glade 
Traceback (most recent call last):
  File "/usr/bin/gladevcp", line 45, in <module>
    import gladevcp.makepins
  File "/usr/lib/pymodules/python2.6/gladevcp/__init__.py", line 1, in <module>
    from hal_pythonplugin import *
  File "/usr/lib/pymodules/python2.6/gladevcp/hal_pythonplugin.py", line 15, in <module>
    from calculatorwidget import Calculator
ImportError: No module named calculatorwidget
креате иконс тоже не работает

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

root@emc:/usr/share/pyshared/gladevcp# ./create_icons.py 
Traceback (most recent call last):
  File "./create_icons.py", line 23, in <module>
    from lxml import etree
ImportError: No module named lxml
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Алексс писал(а):from lxml import etree
ImportError: No module named lxml
Хммм... это у тебя видно inkscape не стоит :)
sudo apt-get install python-lxml тебе в помощь :) может и все остальное лучше заработает.


попробуй новый readme:

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

1. Move everything to /usr/share/pyshared/gladevcp/
	Or better create links there: 
	cd /usr/share/pyshared/gladevcp/
	sudo ln /full-path-to-git-repository/features.py -s
	sudo ln /full-path-to-git-repository/features.glade -s
	sudo ln /full-path-to-git-repository/subroutines -s
	
2. Create links into /usr/lib/pymodules/python2.6/gladevcp
	cd /usr/lib/pymodules/python2.6/gladevcp
	sudo ln /usr/share/pyshared/gladevcp/features.py -s
	sudo ln /usr/share/pyshared/gladevcp/features.glade -s
	sudo ln /usr/share/pyshared/gladevcp/subroutines -s

3. Change hal_pythonplugin.py in /usr/share/pyshared/gladevcp/hal_pythonplugin.py
	Add (find calculator add after :)):
		from features import Features
		

4. Change hal_python.xml in /usr/share/glade3/catalogs glade3 can be glade2
	Add (find first calculator add after :)):
		
		<glade-widget-class name="Features" generic-name="features" title="features">
		    <properties>
		        <property id="size" query="False" default="1" visible="False"/>
		        <property id="spacing" query="False" default="0" visible="False"/>
		        <property id="homogeneous" query="False" default="0" visible="False"/>
		    </properties>
		</glade-widget-class>

	
	 Add (find second calculator add after :)):
		
	   <glade-widget-class-ref name="Features"/>


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

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

Сообщение nkp »

Nick писал(а):попробуй новый readme:
вроде как не много слов...
а можно пояснить (по русски) то же самое?
1. Move everything to /usr/share/pyshared/gladevcp/
переместить всё в /usr/share/pyshared/gladevcp/
что всё????
все файлы из архива?
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

да ты просто волшебник!!
но... нету калькулятора.
Screenshot.png (3279 просмотров) <a class='original' href='./download/file.php?id=15542&sid=fd726cdf01de990cac105feecc595e78&mode=view' target=_blank>Загрузить оригинал (114.48 КБ)</a>
сейчас окно виджета появляется, появляется (вызываю как gladevcp features.glade)
но ничего не происходит при наэатии кнопок.

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

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

Сообщение Nick »

А если вообще просто запустить
python features.py --ini= твой ini с полным путем?

Алексс писал(а):ты ведь не хочешь сказать что это замечательная прога не работает на 2.5.1 ??
Должна работать... там от linuxcnc практически ничего не используется :).

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

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

Сообщение Nick »

nkp писал(а):1. Move everything to /usr/share/pyshared/gladevcp/
переместить всё в /usr/share/pyshared/gladevcp/
что всё????
все файлы из архива?
Лучше просто сделать симлинки, как там чут ьниже написано, так будет легче обновляться:
cd /usr/share/pyshared/gladevcp/
sudo ln /full-path-to-git-repository/features.py -s
sudo ln /full-path-to-git-repository/features.glade -s
sudo ln /full-path-to-git-repository/subroutines -s
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

Ник, да ты просто волшебник!
а почему оно по умолчанию мой конфиг не схавало ? наверное каких-то переменных окружения не хватает ?

ну и вот те баг
Screenshot-1.png (3274 просмотра) <a class='original' href='./download/file.php?id=15543&sid=fd726cdf01de990cac105feecc595e78&mode=view' target=_blank>Загрузить оригинал (125.14 КБ)</a>
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

Сообщение Алексс »

нашел и исправил сам :)

вай спасибо!
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Ответить

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