Страница 4 из 38

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

Добавлено: 22 май 2013, 18:07
Nick
Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS.png (215406 просмотров) <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 (215695 просмотров) <a class='original' href='./download/file.php?id=14825&mode=view' target=_blank>Загрузить оригинал (158.39 КБ)</a>
LinuxCNC-Features.png (215695 просмотров) <a class='original' href='./download/file.php?id=14826&mode=view' target=_blank>Загрузить оригинал (166.41 КБ)</a>

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

Саме начало
LinuxCNC Features.png (215699 просмотров) <a class='original' href='./download/file.php?id=14824&mode=view' target=_blank>Загрузить оригинал (68.04 КБ)</a>
Описание обработок - features (для просмотра содержимого нажмите на ссылку)

Описание обработок - features


См в wiki: http://cnc-club.ru/wiki/index.php/Linux ... 0%BE%D0%BA

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

Добавлено: 17 июн 2013, 10:44
aftaev
123.jpg (3681 просмотр) <a class='original' href='./download/file.php?id=15523&mode=view' target=_blank>Загрузить оригинал (90.17 КБ)</a>

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

Добавлено: 17 июн 2013, 13:05
nkp
везде ругается на глобальные параметры
Выделение(030).jpg (3673 просмотра) <a class='original' href='./download/file.php?id=15524&mode=view' target=_blank>Загрузить оригинал (255.26 КБ)</a>
где они должны по идее определяться??
более -менее работает только многогранник:
Выделение(032).jpg (3673 просмотра) <a class='original' href='./download/file.php?id=15526&mode=view' target=_blank>Загрузить оригинал (394.84 КБ)</a>
и еще:
что такое rappid (по моему даже гугл не знает такого слова ;) )

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

Добавлено: 17 июн 2013, 13:36
Алексс
nkp писал(а):но навигацию (стрелочкой)
сделать просто одиночным кликом
не лучше ли иметь единообразие ? тут один раз тыкнуть а тут два - не по феншую.

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

Добавлено: 17 июн 2013, 14:45
nkp
Алексс писал(а):не по феншую.
согласен - переделаю только под себя - ну какой то не феншуйный я :shock:

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

Добавлено: 17 июн 2013, 15:31
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

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

Добавлено: 17 июн 2013, 15:33
Nick
А почему у тебя уже что-то переведено??? :)

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

Добавлено: 17 июн 2013, 15:41
Алексс
Ник, а как быть с инструментом ?
Чтобы компенсация/визуализация работала, его надо в табличку вставить. так ?
Или я опять все пропустил ?

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

Добавлено: 17 июн 2013, 15:44
Алексс
И про иконки напиши. как делать такие няшные иконки в inkscape и потом их оттуда извлекать.
и курсы по рисованию :)

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

Добавлено: 17 июн 2013, 15:49
nkp
Nick писал(а):А почему у тебя уже что-то переведено???
а я посмотрел - "GNU General Public License" - так что ничего не нарушаю :hehehe:
-------------
по поводу безопасной высоты - устоялось уже вроде сочетание "zsafe" (везде в ngcgui)

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

Добавлено: 17 июн 2013, 16:31
Nick
Алексс писал(а):Ник, а как быть с инструментом ?
Эти процедуры надо еще дописать, пока можно вставить Gкод из Gкод ( :) ) и в нем написать G43 или как оно там задается :)
Иконки все в icons.svg, там внутри написано, что с ними делать, в двух словах, рисуешь иконку, потом ее кладешь в группу и группе делаешь название с именем иконки. Потом create_icons.py и в каталогах появляются файлы.
Про тот как лучше рисовать потом еще напишу.
Если редактировать текущий файл - обрати внимание, что нужно выключить опцию изменять толщину обводки, чтобы обводка была везде одинаковая.
nkp писал(а):а я посмотрел - "GNU General Public License" - так что ничего не нарушаю
Сейчас думаю, как к этому всему gettext прикрутить... тогда будешь переводить, а пока нечего народ стращать :hehehe:
хммм zsafe ... надо подумать :). Я где-то видел уже этот rappid...

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

Добавлено: 17 июн 2013, 17:35
aftaev
Nick писал(а):А почему у тебя уже что-то переведено???
видать он русский язык больше любит :)

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

Добавлено: 17 июн 2013, 19:01
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, но что с ним дальше делать ???

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

Добавлено: 17 июн 2013, 19:05
Алексс
похоже я лучший тестер.
ничего не работает :)

пункт 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

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

Добавлено: 17 июн 2013, 20:14
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"/>



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

Добавлено: 17 июн 2013, 20:35
nkp
Nick писал(а):попробуй новый readme:
вроде как не много слов...
а можно пояснить (по русски) то же самое?
1. Move everything to /usr/share/pyshared/gladevcp/
переместить всё в /usr/share/pyshared/gladevcp/
что всё????
все файлы из архива?

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

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

ты ведь не хочешь сказать что это замечательная прога не работает на 2.5.1 ??

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

Добавлено: 17 июн 2013, 20:44
Nick
А если вообще просто запустить
python features.py --ini= твой ini с полным путем?

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

ЗЫ калькулятора нет - проблема, я все от него делал :)
ЗЫЫ Калькулятора нет, а features уже есть :hehehe:

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

Добавлено: 17 июн 2013, 20:46
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

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

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

ну и вот те баг
Screenshot-1.png (3574 просмотра) <a class='original' href='./download/file.php?id=15543&mode=view' target=_blank>Загрузить оригинал (125.14 КБ)</a>

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

Добавлено: 17 июн 2013, 20:52
Алексс
нашел и исправил сам :)

вай спасибо!