Перейти к публикации

Рекомендованные сообщения

А УП по короче не нашлось :biggrin:?

 

 

Меняем значения c xpos и ypos на xnext и ynext

 

Я делал похожую манипуляцию только для того чтоб при мультитрансформации так же правильно выводились координаты начала следующей позиции ! Может кому то тоже пригодится! 

@start_of_job
    ; Handle what happens at start of operation(job)
    ; If using Subs we do not make tool change in @start_of_job
    if bSubs
        {nb, cCb,job_name,cCe}
    else
        if bTlchg
            call @usr_ct
            bTlchg = false
        else
            {nb, cCb,job_name,cCe}
            if iPworkoffset ne iWorkoffset
                {nb}
                call @usr_homenumber_output
                skipline = false 
                change(xpos) = false
                change(ypos) = false
                zpos = znext
                change(zpos) = true
                call @rapid_move
                 xpos = xnext          ; (переход между G54-59)
               ypos = ynext           ;  (переход между G54-59)
               ; change(xpos) = true
                ;change(ypos) = true
                change(zpos) = false
                call @rapid_move
                bSkipxyrapid = true
            endif
        endif
    endif
    if job_type eq 'drill_hr'
        bSkipxyrapid = false
    endif
    if bCoolExist
        call @usr_coolant
    endif
    call @usr_HSM_mode     
endp
Изменено пользователем Frezer_PU
Ссылка на сообщение
Поделиться на других сайтах


 

А УП по короче не нашлось :biggrin:?

 

 

 

Я делал похожую манипуляцию только для того чтоб при мультитрансформации так же правильно выводились координаты начала следующей позиции ! Может кому то тоже пригодится! 

@start_of_job
    ; Handle what happens at start of operation(job)
    ; If using Subs we do not make tool change in @start_of_job
    if bSubs
        {nb, cCb,job_name,cCe}
    else
        if bTlchg
            call @usr_ct
            bTlchg = false
        else
            {nb, cCb,job_name,cCe}
            if iPworkoffset ne iWorkoffset
                {nb}
                call @usr_homenumber_output
                skipline = false 
                change(xpos) = false
                change(ypos) = false
                zpos = znext
                change(zpos) = true
                call @rapid_move
                 xpos = xnext          ; (переход между G54-59)
               ypos = ynext           ;  (переход между G54-59)
               ; change(xpos) = true
                ;change(ypos) = true
                change(zpos) = false
                call @rapid_move
                bSkipxyrapid = true
            endif
        endif
    endif
    if job_type eq 'drill_hr'
        bSkipxyrapid = false
    endif
    if bCoolExist
        call @usr_coolant
    endif
    call @usr_HSM_mode     
endp

 

Так чтож ты сразу не сказал? Можно и так сделать?

Ссылка на сообщение
Поделиться на других сайтах
Итог: Проблема решена. Инструмент выводится в каждом переходе с одним инструментом. Прошу кому интересен этот вопрос проверить мои манипуляции в своих постах.

Спасибо ! Попробовал у себя тоже работает!  

Только осталось пробел (разделение) поставить между траекториями чтоб не сливалась УП в одну массу?


Так чтож ты сразу не сказал? Можно и так сделать?

При этом инструмент не выводится !

А с твоей добавкой выводится! 

И как я и говорил выше копать надо было в  

 

Начало есть! 

Возможно надо ближе копать к этой процедуре так как она выводит те координаты которые нужны

044fe858d4d075af5dbfbef28e9fe80f.png

Ссылка на сообщение
Поделиться на других сайтах

Спасибо ! Попробовал у себя тоже работает!  

Только осталось пробел (разделение) поставить между траекториями чтоб не сливалась УП в одну массу?

 

 

При этом инструмент не выводится !

А с твоей добавкой выводится! 

И как я и говорил выше копать надо было в  

Кстати, если просто поменять значение, как у тебя для мультитрансформации и не менять значение в @usr_rapid, то все равно координаты во втором переходе из первого. Странно, думал прокатит.

Ссылка на сообщение
Поделиться на других сайтах
Кстати, если просто поменять значение, как у тебя для мультитрансформации и не менять значение в @usr_rapid, то все равно координаты во втором переходе из первого. Странно, думал прокатит.

Вот если бы можно было контролировать программно этот процесс вывода конкретно нужной траектории  с инструментом а   не через пост  всех траекторий , тогда была бы тема! 

Но и на этом спасибо ! Это уже лучше чем не чего! Может в будущих версиях сделают этот момент в каждой траектории на вкладке Дополнение ! 

Изменено пользователем Frezer_PU
Ссылка на сообщение
Поделиться на других сайтах

Итог: Проблема решена. Инструмент выводится в каждом переходе с одним инструментом. Прошу кому интересен этот вопрос проверить мои манипуляции в своих постах.

Меняем значение на true

@start_of_job
    ; Handle what happens at start of operation(job)
    ; If using Subs we do not make tool change in @start_of_job
    if bSubs
{nb,'T', tool_number, 'M6'}
        {nb, cCb,job_name,cCe}
    else
        if bTlchg
            call @usr_ct
            bTlchg = true
        else
            {nb, cCb,job_name,cCe}
            if iPworkoffset ne iWorkoffset
------------------------------------------------
Меняем значения c xpos и ypos на xnext и ynext
 
@usr_rapid
    ; Handle output for Rapid Move (G00)
    ; Note: XYZ not allowed together on a single line 
    if !bSkipxyrapid
        if !bSyncdrapid
            if job_type eq '3-d model'
                iMotionmode = 1
            else
                iMotionmode = 0
            endif
        else
            iMotionmode = 0
        endif
        if (change(xpos)or change(ypos)) and change(zpos) ;!@#$% clear change
            bTest = true
        endif
        {nb,['G'iMotionmode:mcode_f ' '],['G'iMplane' '],[cWo,iWorkoffset' '],['G'iAbsincmode ' '],['X'xnext ' '],['Y'ynext ' ']}        
        if change(zpos)
            ;if change(xpos) eq true or change(ypos) eq true
            if bTest  ;!@#$% clear change               
                {nb,['Z'zpos ' ']}            
                bTest = false            
            else
                {['Z'zpos ' ']}
            endif
        endif
        if !bSyncdrapid
            if job_type eq '3-d model'
                {['F'nRapidfeed' ']}
            endif
        endif
        bSkipxyrapid = false
    else
        {nb,['Z'zpos ' ']}
        if !bSyncdrapid
            if job_type eq '3-d model'
                {['F'nRapidfeed' ']}
            endif
        endif
        bSkipxyrapid = false 
    endif
    if !bSyncdrapid
        bFeedoutput        = true
    endif
    change(cWo) = FALSE ;!@#$%AC Fix for ChangeBit Intermittent problem 
endp
 

ай-да молодец! ай-да умница! настоящий программер! )) так держать! ))

Изменено пользователем pavel-kpll
Ссылка на сообщение
Поделиться на других сайтах

Товарищи, сразу хочу предупредить, чтобы с острожностью использовали эти манипуляции. Нашёл косяк в контурной обработке.

Ссылка на сообщение
Поделиться на других сайтах

Я в таких случаях если мне надо повторно прогнать траекторию просто делаю ее последней ! 

И тогда соответственно она выводится с инструментом и ее можно быстро найти ! 

Ссылка на сообщение
Поделиться на других сайтах

Я нигде не могу найти, как правильно указать приспособление. Подскажите пожалуйта. 

 

Ссылка на сообщение
Поделиться на других сайтах

2D переходы не умеют распознавать оснастку так как SC не умеет распознавать материал! 

Для того чтоб вам обойти прижимы, их необходимо ограничить либо определить как деталь и оставить на них припуск при этом увеличив доп контуром зону основной обработки  ! 

Распознает прижимы только стратегия 3d аймашининг и HSS если указать ему данные прижимы как зону контроля столкновений ! 

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

Видимость преспособ по большей части как мне кажется необходимо только для того чтоб видеть будет столкновение с ним инструмента или нет для того чтоб поправить траекторию и направить ее по другому пути в обход! 

3cedc535cd8cb5c6932360cac4b61b53.png

65bd30d907e350529d72e39ebd5d7adb.png

3dc6f8ce3a77387131d89ab2b6544d71.png

Изменено пользователем Frezer_PU
Ссылка на сообщение
Поделиться на других сайтах
В 06.12.2016 в 13:18, sudomex2016 сказал:

 

Товарищи, сразу хочу предупредить, чтобы с острожностью использовали эти манипуляции. Нашёл косяк в контурной обработке.

 

Вот еще один вариант вывода инструмента в чист траекторию!

Создаешь копию инструмента под тем же номером ячейки и указываешь его в траектории при этом стойка будет видеть что смену инстр делать не надо и смело продолжит обработку! 

baaba5eaf46cef99c2e9233c4fb5e13a.png

 

Изменено пользователем Frezer_PU
Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Frezer_PU сказал:

Вот еще один вариант вывода инструмента в чист траекторию!

Создаешь копию инструмента под тем же номером ячейки и указываешь его в траектории при этом стойка будет видеть что смену инстр делать не надо и смело продолжит обработку! 

Я делаю немного по другому. В Доплнительных параметрах ИНТЕРФЕЙСА ПЕРЕХОДА ПРОПИСЫВАЮ обращение для конца перехода. А вмсамом постпроцессоре в разделе конца или начала перехода (как нужно разработчику постпроцессора) прописываю условие обращения и сам раздел смены или что-то другое. Так у меня прописан безусловный ОСТАНОВ И ПОВОРОТ ПАЛЕТА НА HASS-е (СТАНОК с вертикальной осью и сменой палет - потребность перезакрепления детали, смене прижимов и т.д. ). Когда нужно - ДЕЛАЮ СМЕНУ И ОСТАНОВ. Когда нет необходимости - работаю в привычном режиме .

Ссылка на сообщение
Поделиться на других сайтах
22 часа назад, Frezer_PU сказал:

Вот еще один вариант вывода инструмента в чист траекторию!

Создаешь копию инструмента под тем же номером ячейки и указываешь его в траектории при этом стойка будет видеть что смену инстр делать не надо и смело продолжит обработку! 

baaba5eaf46cef99c2e9233c4fb5e13a.png

 

При попытке задать номер инструмента программа ругается, что такой номер существует.

Ссылка на сообщение
Поделиться на других сайтах
22 часа назад, sennik53 сказал:

Я делаю немного по другому. В Доплнительных параметрах ИНТЕРФЕЙСА ПЕРЕХОДА ПРОПИСЫВАЮ обращение для конца перехода. А вмсамом постпроцессоре в разделе конца или начала перехода (как нужно разработчику постпроцессора) прописываю условие обращения и сам раздел смены или что-то другое. Так у меня прописан безусловный ОСТАНОВ И ПОВОРОТ ПАЛЕТА НА HASS-е (СТАНОК с вертикальной осью и сменой палет - потребность перезакрепления детали, смене прижимов и т.д. ). Когда нужно - ДЕЛАЮ СМЕНУ И ОСТАНОВ. Когда нет необходимости - работаю в привычном режиме .

А можно поподробнее, пожалуйста?

Ссылка на сообщение
Поделиться на других сайтах
Только что, sudomex2016 сказал:

При попытке задать номер инструмента программа ругается, что такой номер существует.

Для того чтобы вы смогли создавать  один или несколько инструментов на одну и ту же ячейку вам необходимо открыть вне программы файл вашего станка для правки и сделать как на скринах (это мои настройки под мой станок вы же указываете под свой)!

По умолчанию Maximum Position Letter у вас должно стаять   A вам его надо поменять на  это значение снимает ограничение и дает возможность определения  нескольких инструментов на одну и ту же ячейку ! 

Но всегда будьте осторожны и следите за тем какой инструмент вы выбираете чтоб не запутаться !

e35637a44ff1c4f9cafcfd55bd069e01.png

e7c5916aaed40d753232c6d54e55175e.png

 

Ссылка на сообщение
Поделиться на других сайтах
В 30.11.2016 в 09:59, Hammer_time сказал:

Khapus это ваша первая программа, поздравляю.

Когда возьметесь за свою вторую программу , то используйте подпрограммы для повторения одинаковых частей траектории. Тогда Михалыч обзавидуется! Опасайтесь камсистем. Берегите голову и руки.

моно пожалуйста поподробней, что за подпрограммы для повторения, я только учусь, спасибо

 

Ссылка на сообщение
Поделиться на других сайтах
Только что, alpha09 сказал:

моно пожалуйста поподробней, что за подпрограммы для повторения, я только учусь, спасибо

Это либо макропрограммирование через макросы (#) еще их называют параметры или же параметрическое программирование ! 

Можно зацикливать программы через 

M97 P.. L.. где M97 это вызов подпрограммы . Р-это номер подпрограммы внутри самой программы. L- это количество повторений этой программы тем самым ее зацикливая !

Вот пример полупараметрической УП :

T7 M06 

(FR. D16) 

G00 G90 G54 G49 X-95. Y55. 
S6000 M03 
G43 H07 Z3.5 
/ M08 

#1= 43.9 

M97 P1 L5 
M97 P2 

G00 G90 Z50. M09 
G00 G28 G91 Z0 M05 
 

N1 
G01 G91 Z-5. F50. 
G90 Y#1 F1500. 
X95. 
Y55. 
G00 X-95. 
M99 

N2 
G01 G91 Z-1.5 F50. 
G90 Y#1 F800. 
X95. 
Y55. 
G00 X-95. 
M99 

 

 

Еще вот такой вариант:

G00 G90 G17 G94 G40 G80 
G54 
T7 M06 
M03 S6000 
X0 Y0 
G43 H07 Z70. 
/ M08 
#2= -20 (KONECNAY Z) 
#11= 70 (OTVOD +Z) 
#14= 500 (PODACHA F) 
#21= 1 (KOL-VO OTV.) 
#22= 0 (MEGCENTROVOE) 
#23= 0 (STAR UGOL) 
#24= 0 (SLED. UGOL) 
#4= 33.045 (DIAM. OTV) 
#9= 16 (DIAM. FREZI) 
M98 P18 L#21 
M05 
M09 
G00 G91 G28 Y0 
G90 
Где M98 это вызов внешней программы P18 номер внешней программы/подпрограммы. L#21 это приращение глубины в самой подпрограмме ! 

которая выглядит вот так:

%
O00018 

G01 F#14 
#18= #15 + [ #22 / 2 ] * COS[ #23 ] 
#19= #16 + [ #22 / 2 ] * SIN[ #23 ] 
#23= [ #23 + #24 ] 
#21= [ #21 - 1 ] 
G00 G90 X#18 Y#19 
G00 Z#2 
F#14 
G01 X [ #18 - [ [ #4 / 2 ] - [ #9 / 2 ] ] ] 
G03 I [ [ #4 / 2 ] - [ #9 / 2 ] ] 
G00 X#18 Y#19 
G00 Z#11 
M99 
%

Вот еще такой вариант через G65 P...:

%
O00011 (FREZEROVANIE OTVERSTIJA) 

G00 G90 G21 G17 G94 
G54 
T10 M06 
M03 S4500 
X0 Y0 
G43 H10 Z50. 

/ M08 

Z20. 

G65 P12 X0 Y0 B0.5 Z-5. A8. C6. D0.3 F200. 

G00 Z10. 

M05 
M09 
G91 G28 Z0 
G28 Y0 

G90 
M30 

подпрограмма к ней :

%
O00012 
G90 G21 G17 G94 G00 
X#24 Y#25 
G00 Z#2 
G01 F#9 
X [ #24 - [ [ #1 / 2 ] - [ #3 / 2 ] ] ] 
N1 #2= #2 - #7 
G03 Z#2 I [ [ #1 / 2 ] - [ #3 / 2 ] ] 
#5= #2 - #26 
IF [ #5 LE #7 ] GOTO2 
GOTO1 
N2 Z [ #2 - #5 ] I [ [ #1 / 2 ] - [ #3 / 2 ] ] 
I [ [ #1 / 2 ] - [ #3 / 2 ] ] 
/ G01 X#24 Y#25 

M99 
%

В руководстве к станку по прогаммированию  должно это быть написано если ваша стойка поддерживает такой вид программ !

Но все это больше подходит для ручного программирования и для тех кто пилит серии в которых постоянно меняются размеры, а так же для сокращения веса самой УП если там мало мемори ! 

 

Изменено пользователем Frezer_PU
Ссылка на сообщение
Поделиться на других сайтах
51 минуту назад, Frezer_PU сказал:

Это либо макропрограммирование через макросы (#) еще их называют параметры или же параметрическое программирование ! 

Можно зацикливать программы через 

M97 P.. L.. где M97 это вызов подпрограммы . Р-это номер подпрограммы внутри самой программы. L- это количество повторений этой программы тем самым ее зацикливая !

Вот пример полупараметрической УП :

T7 M06 

(FR. D16) 

G00 G90 G54 G49 X-95. Y55. 
S6000 M03 
G43 H07 Z3.5 
/ M08 

#1= 43.9 

M97 P1 L5 
M97 P2 

G00 G90 Z50. M09 
G00 G28 G91 Z0 M05 
 

N1 
G01 G91 Z-5. F50. 
G90 Y#1 F1500. 
X95. 
Y55. 
G00 X-95. 
M99 

N2 
G01 G91 Z-1.5 F50. 
G90 Y#1 F800. 
X95. 
Y55. 
G00 X-95. 
M99 

 

 

Еще вот такой вариант:

G00 G90 G17 G94 G40 G80 
G54 
T7 M06 
M03 S6000 
X0 Y0 
G43 H07 Z70. 
/ M08 
#2= -20 (KONECNAY Z) 
#11= 70 (OTVOD +Z) 
#14= 500 (PODACHA F) 
#21= 1 (KOL-VO OTV.) 
#22= 0 (MEGCENTROVOE) 
#23= 0 (STAR UGOL) 
#24= 0 (SLED. UGOL) 
#4= 33.045 (DIAM. OTV) 
#9= 16 (DIAM. FREZI) 
M98 P18 L#21 
M05 
M09 
G00 G91 G28 Y0 
G90 
Где M98 это вызов внешней программы P18 номер внешней программы/подпрограммы. L#21 это приращение глубины в самой подпрограмме ! 

которая выглядит вот так:

%
O00018 

G01 F#14 
#18= #15 + [ #22 / 2 ] * COS[ #23 ] 
#19= #16 + [ #22 / 2 ] * SIN[ #23 ] 
#23= [ #23 + #24 ] 
#21= [ #21 - 1 ] 
G00 G90 X#18 Y#19 
G00 Z#2 
F#14 
G01 X [ #18 - [ [ #4 / 2 ] - [ #9 / 2 ] ] ] 
G03 I [ [ #4 / 2 ] - [ #9 / 2 ] ] 
G00 X#18 Y#19 
G00 Z#11 
M99 
%

Вот еще такой вариант через G65 P...:

%
O00011 (FREZEROVANIE OTVERSTIJA) 

G00 G90 G21 G17 G94 
G54 
T10 M06 
M03 S4500 
X0 Y0 
G43 H10 Z50. 

/ M08 

Z20. 

G65 P12 X0 Y0 B0.5 Z-5. A8. C6. D0.3 F200. 

G00 Z10. 

M05 
M09 
G91 G28 Z0 
G28 Y0 

G90 
M30 

подпрограмма к ней :

%
O00012 
G90 G21 G17 G94 G00 
X#24 Y#25 
G00 Z#2 
G01 F#9 
X [ #24 - [ [ #1 / 2 ] - [ #3 / 2 ] ] ] 
N1 #2= #2 - #7 
G03 Z#2 I [ [ #1 / 2 ] - [ #3 / 2 ] ] 
#5= #2 - #26 
IF [ #5 LE #7 ] GOTO2 
GOTO1 
N2 Z [ #2 - #5 ] I [ [ #1 / 2 ] - [ #3 / 2 ] ] 
I [ [ #1 / 2 ] - [ #3 / 2 ] ] 
/ G01 X#24 Y#25 

M99 
%

В руководстве к станку по прогаммированию  должно это быть написано если ваша стойка поддерживает такой вид программ !

Но все это больше подходит для ручного программирования и для тех кто пилит серии в которых постоянно меняются размеры, а так же для сокращения веса самой УП если там мало мемори ! 

 

спасибо

Ссылка на сообщение
Поделиться на других сайтах

Столкнулся с непонятной для меня проблемой - задаю обработку контура детали, глубина врезания по спирали, цепочка определяется правильно, но почему-то происходит срезание дуг :sad: и только в последнем проходе траектория правильная. То же самое происходит и при установке чистового прохода (черновые режут дуги и только чистовой проход правильно описывает контур)

По спирали  

Clip285.png

Hide  

Если меняю глубину контура на постоянную, траектория правильная по всей глубине и черновая и чистовая :g:

Постоянная глубина  

Clip284.png

Hide  

 

Постпроцессор NcStudio-5560.7z 

Может подскажете в какую сторону ковырять?

Ссылка на сообщение
Поделиться на других сайтах

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

это как один из вариантов

Ссылка на сообщение
Поделиться на других сайтах
  • MFS закрепил это тему

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...