AXIS экран (DISPLAY) - тонкая настройка

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Nikomas »

А как загрубить в Axis значения координат вместо 1мкм, например, до 5мкм?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

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

Nikomas писал(а):А как загрубить в Axis значения координат вместо 1мкм, например, до 5мкм?
Задавался подобным вопросом Как изменить количество знаков после десятичной точки #1
Чудес не бывает. Бывают фокусы.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение nkp »

Nikomas писал(а):А как загрубить в Axis значения координат вместо 1мкм, например, до 5мкм?
https://youtu.be/aBDy3rGzUN4

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

--- a/glcanon.py	2019-05-25 16:09:18.000000000 +0300
+++ b/glcanon.py	2019-05-30 08:46:29.823952637 +0300
@@ -1344,7 +1344,7 @@
             for i in range(9):
                 a = "XYZABCUVW"[i]
                 if s.axis_mask & (1<<i):
-                    posstrs.append(format % (a, positions[i]))
+                    posstrs.append(format % (a, round(positions[i] * 2,2) * .5))
                     droposstrs.append(droformat % (a, positions[i], a, axisdtg[i]))
 
             droposstrs.append("")



======================
найти файл glcanon.py
находим командой :

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

locate glcanon.py 
если используется емс ,"установленный в систему" ,то путь может быть примерно такой:
/usr/share/pysred/rs274/glcanon.py
------------
если собран из исходников - lib/python/rs274/glcanon.py
============
в этом файле ищем строку:

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

posstrs.append(format % (a, positions[i]))
и меняем ее на

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

posstrs.append(format % (a, round(positions[i] * 2,2) * .5))
====================
следующая строка изменяет "точность" в большом dro:

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

droposstrs.append(droformat % (a, round(positions[i] * 2,2) * .5, a, round(axisdtg[i] * 2,2) * .5 ))
+++++++++++++++++++
в этой функции прописано еще отображение offsets и тд
всё меняется по такой же схеме ...
Skimen
Новичок
Сообщения: 8
Зарегистрирован: 29 авг 2019, 18:16
Репутация: 0
Настоящее имя: Николай
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Skimen »

В одной из тем я уже описывал проблему отображения 4оси. Повторюсь здесь так как это относится к настройке AXIS экрана.

Для правильной визуализации нужно сделать привязки по G5x такими ккак они сейчас отображаются для привязок инструмента ,а привязки инструмента следовательно на оборот.

Так я считаю будет правильнее.
Самостоятель я этого не сделаю потому что далёк от программирования и с линуксом общение до того не имел.

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

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение nkp »

Skimen писал(а):Для правильной визуализации нужно сделать привязки по G5x такими ккак они сейчас отображаются для привязок инструмента ,а привязки инструмента следовательно на оборот.
то есть - ты предлагаешь "поменять местами" (их функционал) вот эти две кнопки:
Выделение_256.png (12113 просмотров) <a class='original' href='./download/file.php?id=168331&sid=9136d30be8f6b807f96f2d7640e4cb93&mode=view' target=_blank>Загрузить оригинал (47.77 КБ)</a>
Skimen
Новичок
Сообщения: 8
Зарегистрирован: 29 авг 2019, 18:16
Репутация: 0
Настоящее имя: Николай
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Skimen »

Не то чтобы функционал, а логику привязки. Сейчас привязки инструмента смещяет центре заготовки и от этого центра идёт привязка g5x а должно быть наоборот. Привязка по g5x должна смещять центр изделия. А привязка инструмента это просто отступить на длину инструмента . функция G92 остаётся прежней.

(Пишу с телефона ,печатать не удобно, за ошибки в орфографии прошу не пинать.)
Skimen
Новичок
Сообщения: 8
Зарегистрирован: 29 авг 2019, 18:16
Репутация: 0
Настоящее имя: Николай
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Skimen »

У меня тут появился ещё один вопрос.

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

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Serg »

Отображение траектории в LinuxCNC нельзя считать полноценным симулятором, это всего лишь вспомогательный инструмент позволяющий приблизительно оценивать ход работы.
Однако LinuxCNC позволяет создать/нарисовать виртуальную копию станка для симуляции, в штатных примерах есть пример. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Skimen
Новичок
Сообщения: 8
Зарегистрирован: 29 авг 2019, 18:16
Репутация: 0
Настоящее имя: Николай
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Skimen »

А где и как нарисовать копию станка.

Я с линуксцнц только ещё начинаю общаться.
Собрал 4-х координатных станок под управлением линукса.

И обнаружил некорректное отображение поворотной оси.
Вложения
Это старое фото,без поворотки. (11776 просмотров) <a class='original' href='./download/file.php?id=168593&sid=9136d30be8f6b807f96f2d7640e4cb93&mode=view' target=_blank>Загрузить оригинал (2.35 МБ)</a>
Это старое фото,без поворотки.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Serg »

Skimen писал(а):А где и как нарисовать копию станка.
Смотри примеры конфигов в подразделе vismach.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Skimen
Новичок
Сообщения: 8
Зарегистрирован: 29 авг 2019, 18:16
Репутация: 0
Настоящее имя: Николай
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Skimen »

В понедельник попробую посмотреть.

А вообще мой замысел про изменение логики привязки. Реально сделать.
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение iMaks-RS »

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

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение nkp »

iMaks-RS писал(а):Tool sensor один фиг отсутствует в стоке
доделай что тебе не нравится
если достойно будет - может включат
или чукча читателя,не писателя :hehehe:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение nkp »

mc во вкладке Axis (может кто то привыкший к этой прожке пожелает держать ее "поближе" ;) )
в INI :

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

[DISPLAY]

EMBED_TAB_NAME = mc
EMBED_TAB_COMMAND = uxterm -into {XID} -geometry 162x42 -e mc
размер подобрать свой
======================
чтоб нам загружать файлы Gcode непосредственно в емс -
в файл ~/.config/mc/mc.ext
добавляем:

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

# ngc
shell/.ngc
	Open=(axis-remote %f)
табуляция в отступе но будет (вроде!) срабатывать только если емс запущен не_из_терминала
==================
если в функцию def open_file_name(f):
добавить root_window.tk.eval(pane_top + ".right raise preview")
то будет и "переходить" во вкладку предпросмотра жкода(вкладка Вид)

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

    def open_file_name(f):
        root_window.tk.eval(pane_top + ".right raise preview")
        open_file_guts(f)
        if str(widgets.view_x['relief']) == "sunken":
            commands.set_view_x()
        elif str(widgets.view_y['relief']) == "sunken":
            commands.set_view_y()
        elif str(widgets.view_z['relief']) == "sunken":
            commands.set_view_z()
        elif  str(widgets.view_z2['relief']) == "sunken":
            commands.set_view_z2()
        else:
            commands.set_view_p()
        if o.canon is not None:
            x = (o.canon.min_extents[0] + o.canon.max_extents[0])/2
            y = (o.canon.min_extents[1] + o.canon.max_extents[1])/2
            z = (o.canon.min_extents[2] + o.canon.max_extents[2])/2
            o.set_centerpoint(x, y, z)
наверно можно это в .axisrc прописать
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение eekot »

Всем привет!
Подскажите пожалуйста, как подправить надпись на панели. Например струя, изменить на ****** чего нибудь
Вложения
8.png (4411 просмотров) <a class='original' href='./download/file.php?id=184955&sid=9136d30be8f6b807f96f2d7640e4cb93&mode=view' target=_blank>Загрузить оригинал (26.45 КБ)</a>
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение Serg »

Можно поправить системный файл перевода /usr/share/locale/ru/LC_MESSAGES/linuxcnc.mo на свой страх и риск, но для этого придётся разобраться с пакетом gettext.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение eekot »

UAVpilot писал(а):Можно поправить системный файл перевода /usr/share/locale/ru/LC_MESSAGES/linuxcnc.mo на свой страх и риск, но для этого придётся разобраться с пакетом gettext.
Ок, спасибо. Сейчас буду смотреть.
eekot
Кандидат
Сообщения: 76
Зарегистрирован: 16 дек 2010, 01:51
Репутация: 15
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение eekot »

gettext не осилил. Поставил poedit. Конвертнул файл здесь: ezgif.com/mo-to-po. Открыл поедитом, исправил. Он сам компильнул в .mo. Красота! UAVpilotу - спасибо!
Проба:
Вложения
9.png (4361 просмотр) <a class='original' href='./download/file.php?id=184968&sid=9136d30be8f6b807f96f2d7640e4cb93&mode=view' target=_blank>Загрузить оригинал (31.91 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: AXIS экран (DISPLAY) - тонкая настройка

Сообщение nkp »

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

для желающих вести лог выполненных работ:
##############################################

    def update(self):
        .............
        .............
        ...........
        
        
        if vars.len_program.get():
            if self.stat.motion_line > (vars.len_program.get() - 4):
                vars.len_program.set(0)
                try:
                    fl = open('/home/nkp/emc2/logfile', "a")
                    fl.write("successful" + 18*' ' + time.ctime() + "\n")       
                    fl.close()        
                except :
                    print "nkplogerror"
                    
                    
         user_live_update()  
         
         
#######################################################         
         
vars = nf.Variables(root_window,         
         
         ....
         ....
         ....

    ("len_program", IntVar),
) 



###############################


    def task_run(*event):
        ...
        ...

        try:
            s.poll()
            count = 0
            for line in open(s.file).xreadlines(): count += 1
            vars.len_program.set(count)

            fl = open('/home/nkp/emc2/logfile', "a")
            lnf = len(os.path.basename(s.file))
            fl.write(os.path.basename(s.file) + (28-lnf)*' ' + time.ctime() + "\n")       
            fl.close()        
        except :
            print "nkplogerror"
в лог имя программы - время запуска
успешное завершение - время
Ответить

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