Jump to content

Макросы в Power Mill


eksodus

Recommended Posts

  • 2 weeks later...


Всем огромный привет!

Очень часто по работе приходится начинать обработку в середине отверстия. Ну и соответственно там же и заканчивать. В траектории для этого делаю подводы и отводы "Горизонтальная линия справа/слева". Выставляю параметры угла и радиуса вручную, чтобы подвод и отвод выходил в центр отверстия. И поэтому задумал написать макрос, который бы выходил в точку центра. Для удобства в этом центре и находится активная СК. По той же причине угол ставлю 180 градусов. Попробовал разобраться как строятся подводы и отводы в траектории. Что-то понял, но видимо не всё. Вопрос такой: как мне получить координаты начальной и конечной точек. Их увидеть можно в "Упорядочить" на вкладке "Правка траектории"

toolpath.JPG

Link to post
Share on other sites
28.11.2022 в 16:10, syncomp сказал:

 

Зачем так усложнять? Есть же вариант подвода и отвода "центр кармана".

Link to post
Share on other sites
04.12.2022 в 18:54, syncomp сказал:

Вариант может и хорош, только надо объяснить РМ где карман.

Всем привет! Видимо никто не сможет ответить на мой основной вопрос... Как получить координаты начальной и конечной точек траектории из  окна "Упорядочить"? Пусть даже всю строчку. Нужное я потом выделю функцией string и real.

Link to post
Share on other sites
Metal_Cutter
7 часов назад, syncomp сказал:

Всем привет! Видимо никто не сможет ответить на мой основной вопрос... Как получить координаты начальной и конечной точек траектории из  окна "Упорядочить"? Пусть даже всю строчку. Нужное я потом выделю функцией string и real.

Эти данные в постпроцессор не передаются. Проще в РМ назначить подход-отход. Выложите проект со своей проблемой, Вам подскажут наглядно.

Link to post
Share on other sites
5 часов назад, Metal_Cutter сказал:

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

Выкладываю приблизительный проект с реализацией нужных мне траекторий. Подводы-отводы поставил как советовали "Центр кармана" Стратегия " Постоянная Z" делает нормально, но резьба...

PowerMill 2021

Пример.rar

Edited by syncomp
Link to post
Share on other sites
16 часов назад, syncomp сказал:

но резьба...

Если используете резьбовой цикл, то это решается постпроцессором.

Link to post
Share on other sites
09.12.2022 в 07:45, syncomp сказал:

Как получить координаты начальной и конечной точек траектории из  окна "Упорядочить"?

 

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

ENTITY $tp = entity('Toolpath', '')
REAL $XStart = $tp.StartPoint.Position[0]
REAL $YStart = $tp.StartPoint.Position[1]
REAL $ZStart = $tp.StartPoint.Position[2]
REAL $XEnd = $tp.EndPoint.Position[0]
REAL $YEnd = $tp.EndPoint.Position[1]
REAL $ZEnd = $tp.EndPoint.Position[2]

 

Link to post
Share on other sites

Резьбовой цикл не используем. Просто складываем несколько траекторий, отличающихся припуском. Когда обрезаем верх и низ для безопасного захода фрезы по Z подводы и отводы "центр кармана" исчезают. Поэтому мы используем "Горизонтальная линия справа/слева". Но когда шагов более 15-ти штук, то поводы и отводы расходятся и их приходится собирать в центре вручную.

Я тоже нашел ответ на свой вопрос, но другим способом:

string entry = list_cell_value('TPList.TPListView', N, n),

где N - номер строки

  n - номер столбца

А весь код нашел на форуме Autodesk

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

// Get the string in the first row and second column of the
// Toolpath Reorder form, which should be raised before values
// are obtained (the indices start from zero).
FORM TPLIST
string entry = list_cell_value('TPList.TPListView', 0, 1)

// This returns a string in the form "10, 20, 30". So, split the
// string.
string delim = ','
string list coords = tokens(entry, delim)

// This gives a list, whose 3rd element is the z-coord
real zval = coords[2]
print par $zval

 

Link to post
Share on other sites
scorpion1007
16 часов назад, syncomp сказал:

Резьбовой цикл не используем. Просто складываем несколько траекторий, отличающихся припуском. Когда обрезаем верх и низ для безопасного захода фрезы по Z подводы и отводы "центр кармана" исчезают. Поэтому мы используем "Горизонтальная линия справа/слева". Но когда шагов более 15-ти штук, то поводы и отводы расходятся и их приходится собирать в центре вручную.

Я тоже нашел ответ на свой вопрос, но другим способом:

string entry = list_cell_value('TPList.TPListView', N, n),

где N - номер строки

  n - номер столбца

А весь код нашел на форуме Autodesk

  Скрыть содержимое

// Get the string in the first row and second column of the
// Toolpath Reorder form, which should be raised before values
// are obtained (the indices start from zero).
FORM TPLIST
string entry = list_cell_value('TPList.TPListView', 0, 1)

// This returns a string in the form "10, 20, 30". So, split the
// string.
string delim = ','
string list coords = tokens(entry, delim)

// This gives a list, whose 3rd element is the z-coord
real zval = coords[2]
print par $zval

 

Этим Повермил и бесит. Может многое, но все недокументированные возможности ищи на форуме. Бывает за какой-то простой ерундой ищешь реализацию на форуме

Link to post
Share on other sites
11.12.2022 в 13:42, scorpion1007 сказал:

. Бывает за какой-то простой ерундой ищешь реализацию на форуме

Да, согласен с этим. Но Повермилл обожаю и менять на другой CAM не желаю. Хотя может есть и лучше.

Link to post
Share on other sites
  • 1 month later...
syncomp

Всем большое здравствуйте! Есть вопрос.

Очень часто у меня проекты включают две импортированных модели. Бывают ситуации, когда одна модель мешает созданию траектории, но отключить ее как в Solidworks нет возможности. Поэтому приходится модель временно удалять в корзину. Часто бывает, что закрывая проект, забываю восстановить удаленную модель. Потом ее приходится импортировать заново. И я задумал создать макрос, который восстанавливал бы модель, сохранял проект и уже тогда бы закрывал его. Вот что у меня получилось:

EDIT RECYCLER RECOVER Model ALL
IF project_pathname(0) == '' {
PROJECT SAVE AS FILESAVE
 } ELSE {
 PROJECT SAVE
 }
PROJECT RESET

Если модель в процессе работы удалялась, то макрос работает нормально. Если же нет, то происходят различные ситуации, до выдачи ошибки и остановки макроса. При этом создается проект под именем PROJECT, причем сохранение может быть в самом неожиданном месте. Что я делаю не так? И еще вопрос? Как можно узнать что корзина не пуста? Что там есть удаленные модели?

Link to post
Share on other sites
arsenev

Приветствую. А почему бы для этой цели не использовать Припуски по умолчанию и игнорировать мешающую обработке модель?

Link to post
Share on other sites
syncomp
05.02.2023 в 17:47, arsenev сказал:

А почему бы для этой цели не использовать Припуски по умолчанию и игнорировать мешающую обработке модель?

Не очень понял о чем Вы. Дело в том, что в процессе работы над проектом приходится еще и строить различные поверхности в PowerShape. А строить поверхности внутри двух моделей не удобно. Вот поэтому и приходится удалять одну модель.

Мы изготавливаем прессформы для термопластавтоматов. И часто обе половинки матриц обрабатываем вместе.

Edited by syncomp
Link to post
Share on other sites
arsenev
05.02.2023 в 15:22, syncomp сказал:

Бывают ситуации, когда одна модель мешает созданию траектории, но отключить ее как в Solidworks нет возможности.

Я про это написал. Если у вас две модели в проекте, допустим модель А и модель Б, и вам нужно обработать модель А, а модель Б мешает обработке, то можно исключить модель Б из обработки используя припуски по умолчанию.

 

 

Возможно, я не понимаю чего вы хотите.

Edited by arsenev
Link to post
Share on other sites
Павел1

Что-то разговоры про одно и тоже в разных темах. Вот ссылка на видео где рассказывают про припуска, слои и наборы. 

 

  • Нравится 1
Link to post
Share on other sites
  • 2 weeks later...
syncomp
08.02.2023 в 17:24, Павел1 сказал:

Что-то разговоры про одно и тоже в разных темах.

Всем привет! Огромное спасибо за видео. Очень помогло в моем случае. Концепция слоев - это то, что надо. Создаешь новый слой, выделяешь всю модель и добавляешь на слой. Потом выключаешь /включаешь его когда нужно. Я так пользуюсь слоями в AutoCAD. Можно даже и поверхности модели, построенные в PowerShape отключать.

И тут же создал два макроса:

1. Создает новый слой. При этом, в начале, запрашивается желаемое имя нового слоя.

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

Поверхности на слой.mac Создание нового слоя.mac

  • Нравится 2
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.




  • Сообщения

    • Игорëк
      Здравствуйте дорогие знатоки, подскажите пожалуйста.фрезерный станок со стойкой fanuc oi mf На работе часто делаем детали с отверстиями, привязываем каждую деталь заново по 3осям так как отверстия разные размером, индикатор для привязки механический, поэтому приходиться когда привязываешь х и у , индикатором касаться одной стороны в pos–relative  к примеру по оси х прописываю х0 веду в другую сторону и получившееся значение делю на 2 , что бы найти центр по оси. И собствено вопросик такой, делением я занимаюсь на калькуляторе, может можно как то это стройкой прям на фануке прописать в релативе? Я пробовал несколько комбинаций по типу x(значение/2), х(#значение/#2) , но пишет что формат еррор вот не понимаю то ли это просто нельзя сделать, то ли сама команда не правильно мною пишется, подскажите пожалуйста)) а может быть сам процесс находа центра отверстия по оси подскажите, в котором не будет участвовать калькулятор) с мануале varibales, искал инфо, но ничего к сожалению не обнаружил(
    • tm-ares
      В NX ускоренная подача отдельно не задаётся. Если вы посмотрите CL-файл, то в нём ускоренная отображается командой RAPID. Если вам нужно чтобы ускоренная выводилась с заданным значением (т.е. фактически не ускоренная, а просто большая подача), то в графе Подачи - Ускоренная нужно выбрать Вывод - G1 - режим подачи и задать её конкретное значение.
    • Dmtr
      Доброго дня. Ссылка давно уже не работает. Нужны циклы калибровки и измерений FANUC для грибка BLUM. Спасибо
    • Иван Сергеев
      Я ее не выбирал. Эта программа используется в той конторе, куда волею судеб меня занесло. Почему руководством выбрана именно эта программа - для меня загадка. Потому что большинство изделий - древнее советское нечто, и никаких 3Д моделей тут нет и быть не может.   Я до этого всю жизнь работал в Компасе, он как раз-таки больше подходит для 2D проектирования. После Компаса работать в Solidworks офигеть как сложно, кажется, что все через задницу, на элементарные привычные вещи уходит уйма времени. Хотя вероятно, что через задницу было именно в Компасе.   Бесплатная рисовалка даже не рассматривается. Разве что для домашнего использования.   С линиями разобрался, спасибо.
    • BSV1
    • KorovnikovAV
      Вы заманали, GPT не ИИ, а языковая модель.  А что не получилось? 
    • zerganalizer
      Если вы не в состоянии сами проверить ваш селекшн перебором на наличие нужного свойства, и при его отсутствии - создать, то чат-бот вам со всем его ИИ не поможет, как мне кажется.
    • maxx2000
      Ну так-то изучай разделы  КМ, КЖ и иже еси с ними. Как инструмент Revit и подобные.
    • Fedor
      https://3dnews.ru/1084010/ne-stalo-gordona-mura-odnogo-iz-osnovateley-intel-i-avtora-zakona-opredelivshego-razvitie-poluprovodnikovoy-otrasli?from=related-grid&from-source=1084087  Великого инженера не стало в этом мире :(
    • Дядя
      Получилось , спасибо. Cейчас я пишу текст G05 P1000 и он выводится в начале программы , а как сделать чтобы автоматом в конце программы прописывалось G05 P0  Получается в Toolpath End нужно создать условие ?
×
×
  • Create New...