Добро пожаловать на Форум по станкам с ЧПУ!

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

Тема в разделе "Программы исполняющие G-код", создана пользователем PRO59, 5 окт 2017.

  1. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Как некоторые уже заметили я пропал на недельку. И пропадал я не зря. Наконец-то решил сделать достойную замену ngcgui.

    LinuxCNC Features это тулкит для создания "мастеров". Точнее это тулкит самих "мастеров". В общем и целом LinuxCNC Features работает схоже с ngcgui, но с некоторыми отличиями. Честно говоря, с ngcgui я до конца так и не разобрался, поэтому это я считаю, что он работает схоже :mad:. (Название Features взято от кнопки в ngcgui - add feature.)

    В wiki cnc-club добавлена страница о LinuxCNC Features, давайте вместе ее наполнять документацией, видео и прочими полезными материалами.
    http://cnc-club.ru/wiki/index.php/LinuxCNC_Features
    Текущий статус разработки

    Дописать обработки.
    Отловить баги :mad: .

    Что может LinuxCNC Features:
    Добавлять features - простые обработки
    Менять их порядок
    Группировать обработки
    Делать линейные и круговые массивы
    Встраиваться в axis LinuxCNC или работать как отдельной приложение
    Просматривать резултьтат в axis в редиме реального времени
    Сохранять шаблоны обработок
    Это только пока .
    http://cnc-club.ru/wiki/index.php/L....81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0
    Где взять Тут --> https://github.com/cnc-club/linuxcnc-features/
    Пара примеров обработки, созданной за 20 сек:




    Скрины предыдущих версий Саме начало




    Описание обработок - features
    См в wiki: http://cnc-club.ru/wiki/index.php/Linux ... 0%BE%D0%BA
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
     
  2. rw666

    rw666 Active Member

    Регистрация:
    7 май 2012
    Сообщения:
    20.725
    Симпатии:
    2
    Что то красЯвое у ЕМС появилось :cool: PRO59 нужно присвоить медальку

    PRO59, нужЁн еще описание как такое самому делать
     
  3. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Главное его к LinuxCNC прикрутить, ну и до конца допилить. :)
     
  4. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Во, видео сделал
     
  5. rw666

    rw666 Active Member

    Регистрация:
    7 май 2012
    Сообщения:
    20.725
    Симпатии:
    2
    А что должно получиться в итоге? Удобный мастер для генерации программы по чертежу? Например, выбрать два потая и вырезать прямоугольник там-то там-то такой-то глубиной? Полторы минуты, и программа готова?
     
  6. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Да. Оно самое.
     
  7. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Крайне необходимая вещь. Но, мне кажется, нужен намного более глубокий подход.
    Опишу на примерах
    - Вот сделали мы надцать потаев радиусом 10. Но толку, ведь мы работаем фрезой. Диаметр инструмента не учтён, компенсации нет, программа для использования здесь и сейчас не пригодна.
    - Высота безопасного перехода для каждого элемента? А смысл, она должна быть где-то уровнем выше одна для всех.
    - Номер системы координат для каждого элемента? Аналогично, не пойму зачем. Мне кажется, работать нужно просто в текущей системе координат, по крайней мере для стандратных 3-ех координатных фрезеров.
    - Разбиение траектории на несколько проходов с увеличивающейся глубиной. Самая рутина, нету. (правда предполагаю, планируется в ближайшем будущем))
     
  8. Lodochnik

    Lodochnik Member

    Регистрация:
    5 апр 2012
    Сообщения:
    469
    Симпатии:
    0
    Ага :)

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

    Надо будет во всех компонентах поменять глубину и все остальные параметры на переменные типа #<_global_depth_step>
    [​IMG]
    [​IMG]
     
  9. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    хммм... как бы так заставить конфиг парсер не стирать отступы...
     
  10. Lodochnik

    Lodochnik Member

    Регистрация:
    5 апр 2012
    Сообщения:
    469
    Симпатии:
    0
    Вещь нужная, я сразу ее применил бы на обработке заготовок после болгарки.
    в моем случае сразу отпадает КАМ, из пушки по воробьям больше можно не стрелять.
     
  11. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    хмммм какие-то странности с Окодами...
    Может это конечно из-за того, что у меня версия LinuxCNC кривая и стоит на 12.10...

    В общем ловлю странное поведение при разных о кодах.

    Например:
    Программа для многослойной обработки прямоугольника
    В верху идет SUB multipass ему передается номер подпрограммы sub и параметры обработки.
    Так вот, в нем есть цикл while, в котором как раз и вызываются обработки, так вот, если в строке
    O#1 CALL [#8] [#9] [#10] [#11] [#12] [#13] [#14] [#15] [#16] [#17] [#18] [#19]
    вместо #1 написать #<sub>, который определяется выше в той же процедуре, то вылазит сообщение, что sub не орпеделен...
    Попробуйте, может это только у меня?

    Код:
    #<_tool_feed> = 100
       (Rectangle sub definition)
       O<multipass> SUB
          #<sub> = #1
          #<depth> = #2
          #<step> = #3
          #<surface> = #4
          #<rappid> = #5
          #<x0> = #6
          #<y0> = #7      
       
          G0 Z#<rappid>
          G0 X#<x0> Y#<y0>
          #<z> = #<surface>
          O<multipass-while> WHILE [#<z> GT #<depth>]
             
             #<z> = [#<z>-#<step>]
             O<multipass-if> IF [#<z> LT #<depth>]
                #<z>=#<depth>
             O<multipass-if> ENDIF 
             F#<_tool_feed>
             G1 Z#<z>   
             (call pass sub with the restof parameters)
             (DEBUG, #<sub>)
             O#<sub> CALL [#8] [#9] [#10] [#11] [#12] [#13] [#14] [#15] [#16] [#17] [#18] [#19]
          
          O<multipass-while> ENDWHILE
       
          G0 Z#<rappid>   
       O<multipass> ENDSUB
    
    
    
    
    (Rectangle sub definition)
    #<_spiral-rectangle> = 1000
    O#<_spiral-rectangle> sub
       #<cx> = #1
       #<cy> = #2
       #<w>  = #3
       #<h>  = #4
       #<spiral-step> = #5 
       #<a>  = #6
    
       O<spiral-rectangle-if-0001> IF [#<spiral-step> GT 0.01]
            
          #<x1> = [#<cx>-#<w>/2]
          #<x2> = [#<cx>+#<w>/2]
          #<y1> = [#<cy>-#<h>/2]
          #<y2> = [#<cy>+#<h>/2]
          G1 X#<x1> Y#<y1>
    
          ; CW
          O<spiral-rectangle-while> WHILE [1]
          
             G1 X#<x1> Y#<y2>
             #<x1> = [#<x1> + #<spiral-step>]   
             O<spiral-rectangle-if-0002> IF [#<x1> GT #<x2>]
                G1 X[[#<x1>+#<x2>]/2]
                G1 Y[#<y1>]
                O<spiral-rectangle-while> BREAK
             O<spiral-rectangle-if-0002> ENDIF
    
    
             G1 X#<x2> Y#<y2>
             #<y2> = [#<y2> - #<spiral-step>]   
             O<spiral-rectangle-if-0003> IF [#<y1> GT #<y2>]
                G0 Y[[#<y1>+#<y2>]/2]
                G0 X[#<x1>]
                O<spiral-rectangle-while> BREAK
             O<spiral-rectangle-if-0003> ENDIF
       
             G1 X#<x2> Y#<y1>
             #<x2> = [#<x2> - #<spiral-step>]   
             O<spiral-rectangle-if-0004> IF [#<x1> GT #<x2>]
                G1 X[[#<x1>+#<x2>]/2]
                G1 Y[#<y1>]
                O<spiral-rectangle-while> BREAK
             O<spiral-rectangle-if-0004> ENDIF
       
             G1 X#<x1> Y#<y1> 
             #<y1> = [#<y1> + #<spiral-step>]   
             O<spiral-rectangle-if-0005> IF [#<y1> GT #<y2>]
                G0 Y[[#<y1>+#<y2>]/2]
                G0 X[#<x2>]
                O<spiral-rectangle-while> BREAK
             O<spiral-rectangle-if-0005> ENDIF
       
          O<spiral-rectangle-while> ENDWHILE
    
       O<spiral-rectangle-if-0001> ENDIF
    
    O#<_spiral-rectangle> endsub(End definitions)
    
    (Call spiral rectangle sub cX cY w h spiral-step depth depth-step surface rappid)
    
    ;               sub               depth step surf rappid   #x0 #y0 #cx #cy   w    h    [spir-step]
    O<multipass> CALL [#<_spiral-rectangle>] [-5.1] [1] [0] [10]       [5] [2] [1]  [1]  [10] [20] [.1]
      
    M02
    
    
     
  12. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Блин, даже вот такая комбинация выдает parameter not defined

    Код:
             #<sub> = #1
             O#<sub> CALL [#8] [#9] [#10] [#11] [#12] [#13] [#14] [#15] [#16] [#17] [#18] [#19]
    
    Как такое может быть? :confused:
    [​IMG]
     
  13. kaj

    kaj Member

    Регистрация:
    21 сен 2012
    Сообщения:
    874
    Симпатии:
    0
    попробуй:
    Код:
    #<_tool_feed> = 100
       (Rectangle sub definition)
       O<multipass> SUB
          (#<sub> = #1)
          #<depth> = #2
          #<step> = #3
          #<surface> = #4
          #<rappid> = #5
          #<x0> = #6
          #<y0> = #7   
    #1 не с этой строки берётся...
     
  14. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Или вот еще пример:
    Убираем RETURN или WHILE и всеработает. А с ними выдает ошибку...

    Код:
    O123 sub
    
       O<200> IF [5 LE 0.01]
          O123 RETURN
       O<200> ENDIF
    
       O124 WHILE [1]
          O124 BREAK
       O124 ENDWHILE
    
    O123 endsub(End definitions)
    
    M02
    


    --------------------------
    сейчас попробую, а в чем идея? В каком смысле не с той строки?
    [​IMG]
     
  15. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Не помогает...
     
  16. Vlad76

    Vlad76 Active Member

    Регистрация:
    25 апр 2012
    Сообщения:
    6.371
    Симпатии:
    0
    наверно логтка в этом есть:
    если так как ты написал - то строкой O123 RETURN мы выходим
    из подпрограммы о123 (основной) и O125 остается неопределенной...
    вот если поменять местами - то это подтверждается:
    Код:
    O123 sub
       O125 WHILE [1]
          O125 BREAK
       O125 ENDWHILE
       
       O200 IF [5 LE 0.01]
          O123 RETURN
       O200 ENDIF
    O123 endsub
    M02
     
  17. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    а откуда код? какой то странный интересный стиль...
    да и наверно это часть бОльшей программы (в первом вызове параметры #13-19 явно "на вырост")
     
  18. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Здравсвуй PRO59, у меня не получается завести нормально эту программу.
    ZIP архив распаковал в /home/xxxx/linuxcnc, при старте выскакивает GUI с кнопками но без картинок, и не могу ничего подгрузить:
    Код:
    Warning: problem with image subroutines/icons/dz.png 
    Warning: Error while parsing set_depth_step.ini...
    'icons/dz.png'
    Warning: problem with image subroutines/icons/center.png 
    Warning: Error while parsing hexagon.ini...
    'icons/center.png'
    Warning: problem with image subroutines/icons/dz.png 
    Warning: Error while parsing set_rappid.ini...
    'icons/dz.png'
    Warning: problem with image subroutines/icons/diameter.png 
    Warning: Error while parsing set_tool.ini...
    'icons/diameter.png'
    Warning: problem with image subroutines/icons/rect.png 
    Warning: Error while parsing array.ini...
    'icons/rect.png'
    Warning: problem with image subroutines/icons/dz.png 
    Warning: Error while parsing set_surface.ini...
    'icons/dz.png'
    Warning: problem with image subroutines/icons/rect.png 
    Warning: Error while parsing rect-center.ini...
    'icons/rect.png'
    Warning: problem with image subroutines/icons/rect.png 
    Warning: Error while parsing group.ini...
    'icons/rect.png'
    Warning: problem with image subroutines/icons/dz.png 
    Warning: Error while parsing set_depth.ini...
    'icons/dz.png'
    Warning: problem with image subroutines/icons/rect.png 
    Warning: Error while parsing rect_center_step.ini...
    'icons/rect.png'
    Warning: problem with image subroutines/icons/center.png 
    Warning: Error while parsing n-gon.ini...
    'icons/center.png'
    Warning: problem with image subroutines/icons/rect.png 
    Warning: Error while parsing rect.ini...
    'icons/rect.png'
    Warning: problem with image subroutines/icons/rect.png 
    Warning: Error while parsing circular-array.ini...
    'icons/rect.png'
    Warning: Error while parsing gcode.ini...
    Datei »subroutines/icons/gcode.png« konnte nicht ge
    [IMG]http://forumcnc.ru/images/img/forum2/21100170.jpg[/IMG]
     
  19. Vlad76

    Vlad76 Active Member

    Регистрация:
    25 апр 2012
    Сообщения:
    6.371
    Симпатии:
    0
    у меня тоже похоже было...
    начал просматривать .png в папках icons , images - после этого все нормализовалось...
     
  20. Vlad76

    Vlad76 Active Member

    Регистрация:
    25 апр 2012
    Сообщения:
    6.371
    Симпатии:
    0
    В смысле ? Как просматривать, и где?
    У меня этот эффект и на компе с 12.04 и на 10.04...