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

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

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

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

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

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

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

Сообщение Nick »

ini не хавает, т.к. переменные окружения, на сколько я понимаю остаются только в том терминале, в котором был запущен linuxcnc.
Если features встроен в linuxcnc, то тогда ini хавает сам.
Алексс писал(а):нашел и исправил сам
А где исправил-то? Мне тоже надо :).


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

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

Сообщение Nick »

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

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

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

ааа, вона как ты придумал. понятно.

мелочь, но рапортую:
в гкоде номера строк 5 4 1 3 2
конечно пофиг, но феншуй опять же.

с gettext не помогу. однажды с ним бился - страшный сон.
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

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

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

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

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

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

Сообщение Serg »

Nick писал(а):Блин все никак не могу с этими переводами разобраться... я так понял, есть po, теперь его надо на разные языки скопировать, и потом наделать кучу файлов типа ru_RU.po, только куда и как их расскладывать???
по умолчанию оно ищет где-то тут /usr/share/locale/ru/LC_MESSAGES/
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

sandman писал(а):Первое, если долго отсутствуешь, то заглядывай на предыдущие страницы, а то я задал вопрос, и ждал... пока через три страницы ещё кто нибудь то же самое спросил...
Надо было переспросить, видать я не заметил....
sandman писал(а):И в readme можно было бы русский перевод вставить, ато пока въедешь, блин...
Ок. Хорошая идея :)
Алексс писал(а):да первым действием поставил настройку инструмента %)
Надо будет поправить..
UAVpilot писал(а):по умолчанию оно ищет где-то тут /usr/share/locale/ru/LC_MESSAGES/
А почему не ru_RU? И что это вообщезначит?
Я так понимаю на первое время лучше сделать "локальную версию", т.е. будем пихать все в ./locale/ru/LC_MESSAGES, так?


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

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

Сообщение nkp »

Nick писал(а):Я так понимаю на первое время лучше сделать "локальную версию", т.е. будем пихать все в ./locale/ru/LC_MESSAGES, так?
как то Lcnc работает с gettext локально - не вылезая из своей директории... (rip)
может там подсмотреть??
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Nick писал(а):А почему не ru_RU? И что это вообщезначит?
можно и ru_RU. Оно ищет вот так:

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

open("/usr/share/locale/ru_RU.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/ru_RU/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/ru.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/ru/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3
nkp писал(а):может там подсмотреть??
ищет в share/locale/... относительно каталога с исходиками.

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

import gettext;
gettext.install("linuxcnc", localedir=os.path.join(BASE, "share", "locale"), unicode=True)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

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

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

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

    EMC2_PO_DIR=$EMC2_HOME/share/locale
....
    bindtextdomain("linuxcnc", EMC2_PO_DIR);
    setlocale(LC_MESSAGES,"");
    setlocale(LC_CTYPE,"");
    textdomain("linuxcnc");
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

посмотрел "ближе" на этот gettext...
после обработки pygettextом формируются файлы .pot , .po , .mo
все это на основе tmp1.py , который непонятно где лежит...
я так понимаю , pygettex парсит фалы на предмет фраз для перевода...
так вот в данном случае в исходном файле "Value" есть , а в .po его нет :wik:
путь к файлам перевода писАл по разному:
import gettext
gettext.install('messages', localedir = '/home/nkp/linuxcnc-features-master1/locales/ru/LC_MESSAGES', unicode=True)

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

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

Сообщение Nick »

nkp писал(а):после обработки pygettextом формируются файлы .pot , .po , .mo
все это на основе tmp1.py , который непонятно где лежит...
Этот tmp1.py - создается из ini файлов, долго думал, как проще парссер сделать, в итоге сделал парсер, который создает файл со строчками вида _("str"), которые надо переводить, ну и потом его пихаю в xgettext, потом msgmerge с текущим po.

В общем все это сейчас создается при помощи: ./features.py -t .

ЗЫ попробую сегодня доделать перевод... значит пихать все будем в ./share/locale/...

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

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

Сообщение nkp »

Nick писал(а):value - задается в glade файле, его еще не отпарсил
я про вот это Value:
Выделение(034).jpg (3411 просмотров) <a class='original' href='./download/file.php?id=15558&sid=93101477273ae69b42d49d336c320a34&mode=view' target=_blank>Загрузить оригинал (217.53 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

получилось "завести" gettext только создав папку LC_MESSAGES
gettext.install('messages', './locale', unicode=True)
messages.mo лежит в locale/ru/LC_MESSAGES
.mo создавал командой msgfmt --statistics messages.po
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

nkp писал(а):gettext.install('messages', localedir = '/home/nkp/linuxcnc-features-master1/locales/ru/LC_MESSAGES', unicode=True)
не видит...
Ну если у тебя файлы лежат в /home/nkp/linuxcnc-features-master1/locales/ru/LC_MESSAGES/ru/LC_MESSAGES то должен был увидеть. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Мля, наконец-то сделал, то, что вчера придумал. 4 часа убил, чуть башку не сломал! И все из-за одного show_all()!!! :pssdoff:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

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

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

Сообщение Nick »

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

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

Сообщение nkp »

вроде бы все работает (переводит):
Выделение(035).jpg (3365 просмотров) <a class='original' href='./download/file.php?id=15580&sid=93101477273ae69b42d49d336c320a34&mode=view' target=_blank>Загрузить оригинал (213.14 КБ)</a>
Ответить

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