Jump to content

Круговой массив и подпрограмма. Как?


Nikomas

Recommended Posts

Господа, есть некий фланец с отверстиями лежащими на окружности 250мм. Сначала сверлим:

...
MCALL CYCLE83()
	HOLES2(0, 0, 125, 0, 45, 8)
MCALL
...

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

...
TRANS X125 Y0
L115

TRANS X88.388 Y88.388
L115

TRANS X0 Y125
L115

TRANS X-88.388 Y88.388
L115
...

Но, наверняка, должно же быть решение проще чем прописывать каждое отв. Смещение полярных координат (G110, G111, G112) не прошло.

Edited by Nikomas
Link to post
Share on other sites


UnPinned posts
59 минут назад, Nikomas сказал:

А как потом вызвать подпрограмму растачивания фрезой в этих отверстиях?

Добрый день.

Попробуйте так:

MCALL L115
HOLES2(0, 0, 125, 0, 45, 8)
MCALL

а в L115 дописать в начале и в конце:

DEF REAL _X, _Y
_X=$AA_IW[X] _Y=$AA_IW[Y]
TRANS X=_X Y=_Y
...
TRANS
M17

 

Edited by A_1
Link to post
Share on other sites
1 час назад, A_1 сказал:

DEF REAL _X, _Y _X=$AA_IW[X] _Y=$AA_IW[Y] TRANS X=_X Y=_Y ... TRANS M17

Из вашей формулы я не получу список координат.

 

Очень жаль что для TRANS нельзя использовать полярные координаты (TRANS RP=125 AP=45). Было бы в разы проще. Первое отверстие я нашел с помощью:

R1 = SQRT(2) / 2 * 125

А вот второе добавить (+45град на радиусе 125мм) я без понятия как.

Link to post
Share on other sites
16 минут назад, Nikomas сказал:

Из вашей формулы я не получу список координат.

Станок получит список координат осей отверстий по программе HOLES2. Эта программа позиционирует инструмент к центрам отверстий, а изменённая программа L115 с помощью команд TRANS X=<текущее положение по X> Y=<текущее положение по Y> устанавливает в этих точках начало системы координат для расфрезеровки.

 

Если не хотите модифицировать подпрограмму L115, то можно сделать "по формулам":

def int _i, _n=8; количество отверстий
def real _r=125; радиус окружности
def real _a=45; угол первого отверстия
for _i = 1 to _n
trans x=_r * cos(_a) y=_r * sin(_a)
L115
_a = _a + 360 / _n
endfor
trans

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



×
×
  • Create New...