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

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


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 пользователей

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




  • Сообщения

    • Jenny
      Ну что поделать. Оптические сборки они такие. Соединители(2шт)+заглушка+провода а в спецификацию летит 1 строкой. При этом для сборщиков необходимо указывать как проложить провод. Вот и извращаемся как можем. Благодарю!
    • Павлуха
      Поставите сюда галочку и будет Вам счастье.    
    • Бестолковый
      Так вот, осваивая потихоньку SW пришёл к созданию собственных таблиц свойств. Тех самых которые Custom Properly Table, для детали, сборки чертежа детали и чертежа сборки соответственно. Создал таблицы (синхронно создав заготовки для каждого типа вышеуказанных документов, переписал переменные и сложил в отдельную папочку, прописав в свойствах SW пути к ней. Так, чтобы при создании нового документа всё открывалось правильно.   Начитавшись форумов всяко-разных профильных (включая этот) и мануалов пришёл к выводу, что можно "скармливать" в таблицу текстовый или Excel файл с необходимыми данными, как то данные для заполнения штампа и прочее. Иерархия такова: Есть конкретный неизменяемый диск, на нём папки всех проектов, в каждой из них, кроме самих файлов SW кладу этот самый файл гордо именуемый "Код_проекта_db.txt" имя которого меняется, равно как и путь. Всё бы ничего, но когда у тебя один проект - всё гуд, делаешь второй проект - при открытии панельки справа - SW автоматом "подтягивает" файлик из первого проекта, приходится открывать Properly Table Builder и переназначать путь к файлу с необходимыми для второго проекта данными.   Сопсна - сам вопрос к Многоуважаемому Сообществу: Продолжать перезаписывать пути каждый раз или есть какой-то другой выход из сложившейся моими шаловливыми ручонками ситуации?   Заранее признателен за адекватный развёрнутый ответ!  
    • igor555
      Но почему-то на других станках в цехе этого нет и не тупим...хотим придти к единому знаменателю
    • mrVladimir
    • Vengeance
      https://t.me/bBqcc5UzY2E6 заходи в гости, там есть все ^_^
    • Давид
      Доброго времени. Можете поделиться русификатором пожалуйста. ambdavids@gmail.com
    • Александр1979
      В диагностике параметр 0000 смотрите.
    • the Devil incarnate
      сделайте связь "параллельно" со смещением 5мм и будет вам счастье.
    • mrVladimir
      Здравствуйте. Система 0i Mate-TD. При нарезании резьбы зависает между проходами. Есть предположение, что нет нуль-метки. Датчик подключен по схеме к JA7A. Можно как-то проверить приход нуль-метки не снимая датчика прямо на системе? Может в диагностике есть что-то подобное. Сами обороты (в минуту имеется ввиду) отображаются. В программе так: S800 Z3. X37. G76 P10060 Q50 R50 G76 X33.35 Z-35.5 R0 P1000 Q50 F2.  -вот здесь зависает Z3. X350 но зависает не окончательно - постоит-постоит и может дальше пойти. Есть еще предположение - рассогласование по осям превышает установленный порог. Но никак не могу сообразить - где посмотреть...
×
×
  • Создать...