Frezer_PU

Редактирование постов SolidCAM

336 сообщений в этой теме

Приветствую уважаемые,  

Мне нужно обработать зеркальную деталь, т.е. проги отзеркалить относительно плоскости, это без проблем делается через трансформацию уп в SC (в принципе то уж эту ф-ю и применил), но у себя в посте я наткнулся на блок который может задействовать для этого цикл ЧПУ, но что нужно сделать в SC, чтобы он так сказать активировался и записался в УП. кто-нить сталкивался с этим?

Поделиться сообщением


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


Только что, Андрей Фомин сказал:

задействовать для этого цикл ЧПУ

какой такой цикл?

Поделиться сообщением


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

ну например на фануке G51, но это не важно, G код любой может быть, вопрос в другом как блок в посте миррор активировать 

Поделиться сообщением


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

вопрос в другом как блок в посте миррор активировать 

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

Поделиться сообщением


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

Привет! подскажите где именно задается параметр machine_plane ?

1. В посте?

2. В файле станка?

3. Берется из СОЛИДА?

 

Если можно ткните пальцем где именно...

Поделиться сообщением


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

подскажите где именно задается параметр machine_plane ?

А что конкретно надо получить?

Поделиться сообщением


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

Добрый день!

Нужно понимаем откуда берется machine_plane !?

Хочу в посте от этого избавиться:

 

@machine_plane

   if machine_plane eq XY

      plane_letter='Z'

   endif

   if machine_plane eq ZX

      plane_letter='Y'

   endif

endp

 

и далее от этих условий

 

if machine_plane eq ZX

   call @invert_xpos

endif

.................

@invert_xpos

   local logical xpos_modal

      xpos_modal = change(xpos)

      xpos = xpos*(-1)

      change(xpos) = xpos_modal

endp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 20.03.2017 в 23:11, Andrey410 сказал:

Приветствую коллеги. Подскажите как решить такую проблему:

В посте прописан увод всех осей по G53 в машинный ноль в начале и конце программы, но если обработки идут подряд одним и тем же инструментом, то G53 вставляется после каждой обработки. Тратится много лишнего времени и откровенно действует на нервы. Как можно это убрать, оставив вывод только в начале и в самом конце?

P.S. Если в следующей обработке задействован другой инструмент то этого не происходит.

Поделитесь Вашим постом, интересно, как реализован уход в нули после каждого перехода.

Поделиться сообщением


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

Тут поднимался вопрос о реализации вызова смены инструмента и корекции G43 в каждом переходе. Вот пост.

https://drive.google.com/open?id=1qBD6_EfoYnABY-Wmcr-3FQnXCLkbfGuG

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 08.12.2017 в 06:51, pawa88 сказал:

Добрый день!

Нужно понимаем откуда берется machine_plane !?

Хочу в посте от этого избавиться:

 

@machine_plane

   if machine_plane eq XY

      plane_letter='Z'

   endif

   if machine_plane eq ZX

      plane_letter='Y'

   endif

endp

 

и далее от этих условий

 

if machine_plane eq ZX

   call @invert_xpos

endif

.................

@invert_xpos

   local logical xpos_modal

      xpos_modal = change(xpos)

      xpos = xpos*(-1)

      change(xpos) = xpos_modal

endp

открой файл с пост-ром и забань их с помощью точки с запятой  ";".

например...

   ; if machine_plane eq XY
    ;    gcode = 17

Это кода G17,G18,G19.

В 17.12.2017 в 23:14, sudomex2016 сказал:

Поделитесь Вашим постом, интересно, как реализован уход в нули после каждого перехода.

пост от сенника на сиеменс? я например его редактировал.

в процедуре @change_tool надо забанить выход в ноль станка,т.е. G53 и просто например добавить выход по Z.

Вот       {nb,'G0 Z',tool_z_level}
            {nb'M09 M05'}
           ;{nb,'G0 G53 Z0'}
            {nb,'M01'}

,а в процедуре @end_program добавить ее...

{nb,'M09 M05'} 
{nb,'G0 Z',tool_z_level}

{nb,'G0 G53 Z0'}   или {nb,'G74 Z1=0 ; Referent point'}

{nb, 'M30'}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В ‎22‎.‎12‎.‎2017 в 19:29, mariklg13 сказал:

 

Привет! Вы немного не поняли вопрос, но уже разобрался с этим.

Вот, кому нужно:

Параметр machine_plane

берется из программы SOLIDCAM "параметры ноля детали".

Безымянный.jpg

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 22.12.2017 в 19:29, mariklg13 сказал:

пост от сенника на сиеменс? я например его редактировал.

Теперь понял, я думал у вас по другому реализовано, через "Homing & Zero Returning axis " 

Поделиться сообщением


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

здравствуйте. подскажите, как сделать дуги по оси XZ? пост выдает через точки, но хотелось бы через дуги. пост под трех осевой фрезерный станок на основе gMilling_3x

2018.01.02_09h49m21s_022_.jpg

Поделиться сообщением


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

пост выдает через точки, но хотелось бы через дуги.

Пост тут не причем, это стратегия HSS не выдает дугами ! Попробуйте стратегию HSM линейная ! 

 

73.png

3 пользователям понравилось это

Поделиться сообщением


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

ID: 335   Опубликовано: (изменено)

В 02.01.2018 в 13:04, seneoovi сказал:

здравствуйте. подскажите, как сделать дуги по оси XZ? пост выдает через точки, но хотелось бы через дуги. пост под трех осевой фрезерный станок на основе gMilling_3x

По порядку:

1. Пост таки должен поддерживать вывод дуг в XZ / YZ, как в *vmid, так и в *.gpp

Скрытый текст

конкретно стандартный gMilling_3x - поддерживает.5a4d1a4371d32_.PNG.01ee67d4ac72bdef438c37bfa01159c4.PNG

@usr_arc
    ; Handle output for arc movement (G02/G03)
    if bFeedoutput
        change(feed) = true
        bFeedoutput  = false
    endif
    if arc_direction eq CCW then
        iMotionmode = 3
    else
        iMotionmode = 2
    endif
    if arc_plane eq XY
        iMplane = 17
    endif
    if arc_plane eq ZX
        iMplane = 18
    endif
    if arc_plane eq YZ
        iMplane = 19
    endif
    {nb,['G'iMotionmode:mcode_f ' '],['G'iMplane' '],['G'iDiametercomp' '],[cWo,iWorkoffset' '],['G'iAbsincmode ' ']}
    {['D'iDiameteroffset' '],['X'xpos ' '],['Y'ypos ' '],['Z'zpos ' ']}
    if arc_plane eq XY then
        if iArcmode eq 1 or (arc_size eq 360 and iArcmode eq 3)
            {'I'xcenter ' ', 'J'ycenter ' '}
        endif
        if iArcmode eq 2 or (arc_size eq 360 and iArcmode eq 4)
            {'I'xcenter_rel ' ', 'J'ycenter_rel ' '}
        endif
        if (iArcmode eq 3 or iArcmode eq 4) and arc_size ne 360  
            if arc_size >= 180 then
                radius = -radius
            endif
            {'R'radius' '}
        endif        
    endif
    if arc_plane eq ZX then
        if iArcmode eq 1 or (arc_size eq 360 and iArcmode eq 3)
            {'I'xcenter ' ', 'K'zcenter ' '}
        endif
        if iArcmode eq 2 or (arc_size eq 360 and iArcmode eq 4)
            {'I'xcenter_rel ' ', 'K'zcenter_rel ' '}
        endif
        if (iArcmode eq 3 or iArcmode eq 4) and arc_size ne 360
            if arc_size >= 180 then
                radius = -radius
            endif
            {'R'radius' '}
        endif
    endif
    if arc_plane eq YZ then
        if iArcmode eq 1 or (arc_size eq 360 and iArcmode eq 3)
            {'J'ycenter ' ', 'K'zcenter ' '}
        endif
        if iArcmode eq 2 or (arc_size eq 360 and iArcmode eq 4)
            {'J'ycenter_rel ' ', 'K'zcenter_rel ' '}
        endif
        if (iArcmode eq 3 or iArcmode eq 4) and arc_size ne 360
            if arc_size >= 180 then
                radius = -radius
            endif
            {'R'radius' '}
        endif
    endif

    {['F'feed ' ']}
    change(nRapidfeed)          = true

2. Для HSM-линейной допуск расчета переходов должен быть точнее допуска аппроксимации дуг

Скрытый текст

5a4d1e2cbd239_2.PNG.41ff7cc415d6b4740e8c3ed346d914d4.PNG

3. Еще настоятельно рекомендую проверить как будет отрабатываться УП, если в станке используется программная, либо станочная компенсация угла разворота в плоскости XY, дуги в XZ / YZ могут выполняться некорректно.

Изменено пользователем NickEL1000
2 пользователям понравилось это

Поделиться сообщением


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

теперь новый вопрос. какую стратегию лучше использовать для чернового снятия вот такой детали ( зажимается она чуть ниже середины. фреза D50 для быстрой подачи. съем по 0,8мм. ) пробовал "3Д модель" но как то она сного слева в пустую ходит. хотелось бы чтобы послойно прямолинейно с учетом выступа, как бы ступеням

Границу определи.

1 пользователю понравилось это

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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