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

Макропрограммирование


autodrey

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

Всем добрый день.

Прошу помощи. Сломал голову уже.

Не без помощи интернетов написал себе цикл для фрезерования по спирали радиусов.

Да вот беда он актуален только для расположения отверстия в начале системы координат.

Хотелось бы изменением координат в шапке смещать фрезеровку в нужную координату.

На ваш суд:

%
T28M06(FREZA DISK.)
G00G90G54X0Y0B0W0
G43H28Z20.M08
S1800M03 
#29=-10 (KOORDINATA Z NACHALA SKRUGLENIYA)
#28=5 (RADIUS)
#27=10 (SHAG PO Z)
#26=82 (D NACHALA SKRUGLENIYA)
#25=0 (NACHAL'NII UGOL FREZEROVKI)
#24=90 (NACHAL'NII UGOL SFERI)
#23=1 (SHAG UGLA)
#31=0
G01Z[#29]F1000.
#22=#26/2 (R NACHALA SKRUGLENIYA)
G1G41Y[#22]D28F100 (RABOCHAYA PODACHA)
G3 J-[#22]
WHILE [#20 GE 0] DO1
#20=SIN[#24]*[#28] (VICHISLENIE Z)
#21=[#22]+SQRT[[#28]*[#28]-[#20]*[#20]] (VICHISLENIE SFERI)
G1G41X-[SIN[#25]*[#21]] Y[COS[#25]*[#21]] Z[#20]+[#29]-[#28] D28 (KORREKTOR))
#25=[#25]+[#23]
#24=90-[#25]*[#27/360]
END1
G1G41Y[#21]D28
G3 X-[#21] Y0 R[#21]
G3 X0 Y-[#21] R[#21]
G3 X[#21] Y0 R[#21]
G3 X0 Y[#21] R[#21]
G0G40X0Y0M9
M5
G0G91G28Z0
M30
%

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


UnPinned posts
3 часа назад, autodrey сказал:

Хотелось бы изменением координат в шапке смещать фрезеровку в нужную координату.

Здравствуйте. Самое быстрое и простое решение - использовать программное смещение системы координат:

G52 X80 Y50 (смещаем обработку НА 80 мм по X и 50 мм по Y)
(код программы)
G52 X0 Y0 (обязательно отменяем это смещение)

Самый же удобный способ, считаю, делать такие операции с помощью подпрограммы:

G65 P95 X0 Y0 Z2 R5 S0.1 A20 B80
G65 P95 X80 Y50
G65 P95 X-80 Y-20

P95 - номер подпрограммы для примера

 

 

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

G52 X80 Y50

Если я не ошибаюсь, G52 это для токарного

А для фрезерного кажется G92.1

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

G52 X80 Y50 (смещаем обработку НА 80 мм по X и 50 мм по Y) (код программы) G52 X0 Y0 (обязательно отменяем это смещение)

Спасибо. Не знал, век живи век учись. Возьму на вооружение.

 

Подпрограммы использую на HAAS.

На фрезере с фануком операторы от них плюются. Пишу для них макропрограммами.

 

Всё равно хотелось бы довести цикл из шапки до совершенства.

Используется во внутренней камере цилиндра в паре с такой же накаткой нижнего радиуса.

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

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

Если я не ошибаюсь, G52 это для токарного

А для фрезерного кажется G92.1

G52 - одинаково работает для фрезерных и токарных с системами A, B, C

 

18 минут назад, autodrey сказал:

Всё равно хотелось бы довести цикл из шапки до совершенства.

Добавьте переменные для центра отверстия в шапку и суммируйте их в командах перемещений по X и Y:

4 часа назад, autodrey сказал:

G3 X[0+#32] Y[-#21+#33] R[#21]

 

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

Добавьте переменные для центра отверстия в шапку и суммируйте их в командах перемещений по X и Y:

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

Проблема сместить обработку спирали.

Я вижу выход только в переносе всей обработки в относительную систему G91. Тогда можно будет задать "точку входа" и от неё будет пляска всей обработки. Собственно глубокие фаски так и делаем концевыми фрезами. Написан цикл в относительной системе.

Но как я только не изгалялся.

5 часов назад, autodrey сказал:

G1G41X-[SIN[#25]*[#21]] Y[COS[#25]*[#21]] Z[#20]+[#29]-[#28] D28 (KORREKTOR)

Вот эту строчку заставить в G91 работать не смог.

Поэтому и обратился за помощью.

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

#27  - угловой шаг по сфере на один оборот, а не по Z

для G91 - запомнить предыдущую точку, получить новую - вычислить разницу и забить в G91 Х... У...Z...

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

Проблема сместить обработку спирали.

Проверьте эту программу

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

%
T28M06(FREZA DISK.)
#32=20 (XC)
#33=50 (YC)
G00G90G54X[0+#32]Y[0+#33]B0W0
G43H28Z20.M08
S1800M03 
#29=-10 (KOORDINATA Z NACHALA SKRUGLENIYA)
#28=5 (RADIUS)
#27=10 (SHAG PO Z)
#26=82 (D NACHALA SKRUGLENIYA)
#25=0 (NACHAL'NII UGOL FREZEROVKI)
#24=90 (NACHAL'NII UGOL SFERI)
#23=1 (SHAG UGLA)
#31=0
G01Z[#29]F1000.
#22=#26/2 (R NACHALA SKRUGLENIYA)
G1G41Y[#22+#33]D28F100 (RABOCHAYA PODACHA)
G3 J-[#22]
WHILE [#20 GE 0] DO1
#20=SIN[#24]*[#28] (VICHISLENIE Z)
#21=[#22]+SQRT[[#28]*[#28]-[#20]*[#20]] (VICHISLENIE SFERI)
G1G41X[-SIN[#25]*[#21]+#32] Y[COS[#25]*[#21]+#33] Z[#20]+[#29]-[#28] D28 (KORREKTOR))
#25=[#25]+[#23]
#24=90-[#25]*[#27/360]
END1
G1G41Y[#21+#33]D28
G3 X[-#21+#32] Y[0+#33] R[#21]
G3 X[0+#32] Y[-#21+#33] R[#21]
G3 X[#21+#32] Y[0+#33] R[#21]
G3 X[0+#32] Y[#21+#33] R[#21]
G0G40X[0+#32]Y[0+#33]M9
M5
G0G91G28Z0
M30
%

 

Ссылка на сообщение
Поделиться на других сайтах
17.03.2023 в 17:42, A_1 сказал:

Проверьте эту программу

  Показать содержимое

%
T28M06(FREZA DISK.)
#32=20 (XC)
#33=50 (YC)
G00G90G54X[0+#32]Y[0+#33]B0W0
G43H28Z20.M08
S1800M03 
#29=-10 (KOORDINATA Z NACHALA SKRUGLENIYA)
#28=5 (RADIUS)
#27=10 (SHAG PO Z)
#26=82 (D NACHALA SKRUGLENIYA)
#25=0 (NACHAL'NII UGOL FREZEROVKI)
#24=90 (NACHAL'NII UGOL SFERI)
#23=1 (SHAG UGLA)
#31=0
G01Z[#29]F1000.
#22=#26/2 (R NACHALA SKRUGLENIYA)
G1G41Y[#22+#33]D28F100 (RABOCHAYA PODACHA)
G3 J-[#22]
WHILE [#20 GE 0] DO1
#20=SIN[#24]*[#28] (VICHISLENIE Z)
#21=[#22]+SQRT[[#28]*[#28]-[#20]*[#20]] (VICHISLENIE SFERI)
G1G41X[-SIN[#25]*[#21]+#32] Y[COS[#25]*[#21]+#33] Z[#20]+[#29]-[#28] D28 (KORREKTOR))
#25=[#25]+[#23]
#24=90-[#25]*[#27/360]
END1
G1G41Y[#21+#33]D28
G3 X[-#21+#32] Y[0+#33] R[#21]
G3 X[0+#32] Y[-#21+#33] R[#21]
G3 X[#21+#32] Y[0+#33] R[#21]
G3 X[0+#32] Y[#21+#33] R[#21]
G0G40X[0+#32]Y[0+#33]M9
M5
G0G91G28Z0
M30
%

 

Большое спасибо! Вроде всё работает.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Jesse
      За прошедшее десятилетие (ухх, как же время летит!) уже были вопросы про локальные пластические деформации в статическом расчете и про локальные формы потери устойчивости. В обоих случаях на все эти "локальности" можно подзабить. В первом случае у меня даже шаблонная фразочка есть, которую я в отчёты вставляю, ссылаясь на ГОСТ Р 57700.10-2018. Это всё хорошо. Но что у нас с цикликой? К примеру, есть вал насоса, который в процессе работы изгибается. В валу есть шпоночные отверствия, всякие переходы вплоть до радиуса R=0.25 мм и прочая мелкая ересь, где развиваются большие напряжения, превышающие предел выносливости материала.. В то время как в основной толще материала напряжения на порядок меньше предела выносливости и там всё ок. Как быть в этой ситуации? Ведь разрушение в процессе многоцикловой усталости происходит в результате зарождения и роста микротрещин. То есть по идее в этом радиусе R=0.25 мм трещинка пойдёт и разрушит весь весь вал за условные 10^12 циклов? Или не разрушит? Если не разрушит, то как обосновать, что не разрушит? С точки зрения физики/МДТТ мы знаем, что в статике у пластичного материала в малой области превысится предел текучести, появится небольшая область течения, и на этом всё. "Пластика" дальше не пойдёт. МОжно даже просчитать и проверить для успокоения души, что пластических шарниров не будет. Но в многоцикловой усталости мы ничего расчетом проверить не можем как все эти "неприятные локальности" себя поведут за 10^12 циклов. Только кривые Веллера и т.п. Ну и результаты упругого расчета..   Какой эмпирико-нормативный опыт есть у человечества, чтоб показать, что разрушения и катастрофического роста трещины НЕ произойдёт за большое кол-во циклов, если в небольшом объеме материала по результатам упругого расчета напряжения превышают предел выносливости?
    • malvi.dp
    • Srgwell
      Библиотеки не все подключены. Там другие какие то были включены. При чем сбиваются иногда
    • Snake 60
      @clavr  Попробовал в 2024-м так и есть, не хочет перепривязывать размеры, настройки не нашел :(
    • Snake 60
    • gudstartup
      @Alexey8107 учитывая то что иногда станок все же включается то похоже на плохой контакт или высохшую емкость у нас на старом svm альфа были случайные ошибки 8 9 именно из за емкости. фанук их умудрился так замаскировать между  двумя  разъемами еле нашли,,,
    • vad0000
      DELEM предлагает такой метод Приходит партия металла, Вы в ЧПУ вводите уголок 100*100., и получаете развёртку. Изготавливаете ее, и далее гнете. Одна сторона у Вас получится 100, если конечно правильно настроен упор, а другая никогда не получится 100, либо больше, либо меньше. Cybelec для каждого материала предлагает 10 различных поправок. Т.е. согнул один раз уголок, и получил поправку на всю партию металла. Пришла новая партия, согнули ещё один уголок. Все понятно?
    • paxa074_ko
      Ребят, помогите, пожалуйста, уже весь интернет облазил, но решения не нашел. Может кто встречался с подобным? SolidWorks 2021 Routing. По итогу создания кабеля (рисунок 1), хочу сделать его чертеж, однако, используя функцию "Развернуть маршрут", вижу просто эскиз провода (рисунок 2), сам провод пропадает и как следствие на чертеже просто линия вместо провода (рисунок 3) (а это уже как-то колхозно, хоть и длину все-равно высчитывает правильно).   Не удается вставить изображение через ссылку, поэтому вот сылка на гугл диск, там также исходники файлов: https://drive.google.com/drive/folders/1u9o9FnandAdWyL7jw-EZ62UXDicFK8yx?usp=drive_link
    • Srgwell
    • zwg
      Размер в 1 мм я приводил для понимания проблемы. В реальности, вопрос был именно в корректировке развертки (точек оси Х) в соответствии с нашим металлом, а не DIN.  Я так понимаю, корректировка значения в МАТЕРИАЛ CYBELEC решит эту проблему...  А как подобную  корректировку выполнить для Y? Например для 1мм сейчас сходу станок дает угол 94... 
×
×
  • Создать...