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

Макросы в Power Mill


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

В 22.02.2017 в 15:47, eksodus сказал:

и вот нашёл ещё один очень удобный макрос -

запускаем макрос, и выбираем по очереди сначала плоскость Z, а потом плоскость Y

и СК будет создана в центре детали

Интересный макрос. Но я использую другой, потому как СК выставляю в середине детали. А Z0 вверху. Что я делаю? Вычисляю заготовку, создаю СК по Заготовке, указываю нужную мне точку, сориентировав модель как мне удобно. После разворачиваю оси, если СК развернута не туда.

 

Cоздать СК.mac

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


49 минут назад, syncomp сказал:

Интересный макрос. Но я использую другой, потому как СК выставляю в середине детали. А Z0 вверху.

ну так тот макрос делает тоже самое, и даже больше, - попробуйте

50 минут назад, syncomp сказал:

Вычисляю заготовку, создаю СК по Заготовке, указываю нужную мне точку, сориентировав модель как мне удобно. После разворачиваю оси, если СК развернута не туда.

а в том макросе ничего разворачивать не нужно - он сам правильно выставляет оси

и если вдруг ошибся - там есть кнопка повернуть, которая не просто повернёт СК, а поменяет также нужную плоскость

в общем - тот макрос намного более удобен, советую использовать его

1 час назад, syncomp сказал:

Как проверить, есть ли в наличии(в дереве) инструмент? А если нет, то взять его из базы... Что-то вроде:

IF Tool.Name == 'D12' {

//Если нет, то взять из базы

FORM TOOLDBSEARCH
TOOLDB RESULTS_LIST SELECT 5 NEW
TOOLDB RESULTS_LIST CREATE  5 0
TOOLDBSEARCH ACCEPT }

тут нужно получить список инструментов, и с ним уже работать

и разве в руководстве нет похожего примера ? вроде бы был

 

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

ну так тот макрос делает тоже самое, и даже больше, - попробуйте

Согласен, макрос интересный. И я его сразу же попробовал, а потом стал писать о своем. Ваш макрос тоже не универсальный, вернее почти не подходит для моих целей. Он рассчитан на плоскости перпендикулярные к нормалям и осями СК. Я обрабатываю много моделей у которых нет таких поверхностей. Либо это конические поверхности, либо прямые, но под углом... В таких случаях Ваш макрос не подходит. А мой идеален...

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

Ваш макрос не подходит

это не мой макрос - я просто выложил его для всеобщего пользования

и пользоваться им или нет - это сугубо личные предпочтения

8 часов назад, syncomp сказал:

А мой идеален

если бы Ваш макрос автоматически мог поворачивать СК, или делать запрос для этого, как в выложенном мной макросе, тогда бы согласился

Изменено пользователем eksodus
Ссылка на сообщение
Поделиться на других сайтах
В 02.03.2017 в 18:48, eksodus сказал:

если бы Ваш макрос автоматически мог поворачивать СК, или делать запрос для этого, как в выложенном мной макросе, тогда бы согласился

Так он и делает запрос. Вернее 2 запроса. Сперва открывается Редактор СК. Затем предлагается выбрать одну из 9-ти точек Заготовки. А потом можно указать направление осей, воспользовавшись инструментом "Поменять оси ЛСК".

Снимок.JPG

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

А потом можно указать направление осей, воспользовавшись инструментом "Поменять оси ЛСК".

так в том то и дело - что в макросе что я выложил, этого делать не нужно - макрос сам поворачивает СК, правильно располагая оси

а вы предлагаете уже после выполнения вашего макроса сделать это вручную, а это дополнительное время и куча действий

 

в общем - я не вижу для себя пользы в вашем макросе, потому что он по сути выполняет всего две простые команды:

1) вычислить последнюю использовавшуюся заготовку

(а если заготовка была до этого цилиндром ? а мне нужен прямоугольный блок ? у вас такой проверки нет, а в макросе что я выложил - есть

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

а если Тип заготовки был тоже задан границей ? а мне нужен тип - Модель ?)

2) выбрать способ создания СК - По Заготовке

ну в общем, это конечно ваше личное дело, и я соглашусь что это может быть полезным, но я макросы на 2 кнопки не пишу

 

дальше - ваш макрос не задаёт точность вычисления заготовки

а если модель имеет радиусные края ? (см. картинку ниже)

точности по умолчанию в 0,1 мм ей будет мало, будет погрешность в 0,1-0,2 мм, а у меня это недопустимо

а в макросе что я выложил - там перед вычислением заготовки задаётся её точность - 0,001

это для радиусных граней самый раз

 

и ещё одно - а если оси в глобальной СК не перпендикулярны граням модели ? - вот пример

f8be8d7aec3ccbf88452a2800bb9b2cc.png

тогда вообще другой способ задания заготовки будет использоваться, и ваш макрос попросту ничего полезного не сможет сделать

 

а в случае использования макроса что я выложил - сразу получится всё как надо

772808be2ed9735459b538b3c80108bc.png

 

дальше, текст вашего макроса содержит много мусора

FORM BLOCK
EDIT BLOCK ZMIN UNLOCK
EDIT BLOCK RESET
CREATE WORKPLANE ; EDITOR
MODE WORKPLANE_EDIT REPOSITION BLOCK
MACRO PAUSE "Выберите точку для новой СК."
MODE WORKPLANE_EDIT FINISH ACCEPT
EXPLORER SELECT Workplane "Workplane\1" NEW
ACTIVATE Workplane "1"
EXPLORER SELECT Workplane "Workplane\1" NEW
EDIT BLOCK RESET
ROTATE TRANSFORM ISO1

из 12 строк, почти половина лишняя

если убрать ненужные 5 строк, то вот аналогичный макрос всего на 7 строк

EDIT BLOCK RESET

MODE WORKPLANE_CREATE ; INTERACTIVE BLOCK
MACRO PAUSE "Выберите точку для новой СК."
MODE WORKPLANE_EDIT FINISH ACCEPT

ACTIVATE Workplane "1"
EDIT BLOCK RESET
ROTATE TRANSFORM ISO1

небольшое уточнение - я убрал строку EDIT BLOCK ZMIN UNLOCK, потому что смысла в ней нет

если СК создаётся в самом начале после импорта модели - то блокировки всё равно нет

а если была блокировка - то зачастую блокируют все оси , а не только Z

если всё-же нужно снять блокировку - тогда первой строчкой можно добавить  - EDIT BLOCK ALL UNLOCK

это разблокирует все оси, а не только Z

 

 

и ещё одно - а если уже есть СК с именем 1 ? тогда макрос не сработает как надо

поэтому при создании СК можно сразу указать имя, и потом активировать СК по этому имени

 

PS: я бы улучшил ваш макрос вот так:

   EDIT MODEL ALL DESELECT ALL
   EDIT BLOCK COORDINATE WORKPLANE
   EDIT BLOCKTYPE BOX
   EDIT BLOCK ALL UNLOCK
   EDIT BLOCK TOLERANCE ".001"
   EDIT BLOCK RESETLIMIT "0"
   EDIT BLOCK LIMITTYPE MODEL
   EDIT BLOCK RESET

   MODE WORKPLANE_CREATE ; INTERACTIVE BLOCK
   MACRO PAUSE "Выберите точку для новой СК."
   MODE WORKPLANE_EDIT FINISH ACCEPT

   ACTIVATE Workplane "1"
   EDIT BLOCK RESET
   ROTATE TRANSFORM ISO1

 

 

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

Немного подкорректировал этот макрос для проверки сразу нескольких траекторий на зарезы и столкновения:

 

1. После запуска макроса появляется окно выбора траекторий для проверки (в дереве не обязательно активировать к-л. траекторию и инструмент).

2. После выбора траекторий появляется окно для задания безопасного зазора патрона, затем - безопасного зазора хвостовика.

3. Производится расчет с выводом информационных сообщений.

4. Остальное, как у Konstantin_VP. Спасибо ему.

 

Тестировалось для PM2017.

 

Selected_Toolpaths_Collision.mac

Изменено пользователем arsenev
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Ребят, помогите сделать макрос для просмотра свойств траектрии) 

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

Вот что у меня получилось...

Снимок.JPG

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

Ребят, помогите сделать макрос для просмотра свойств траектрии) 

вот так:

SIZE TOOLPATH ;

 

24 минуты назад, k.sema сказал:

чтобы при запуске макроса показывались свойства активной траектории?

способы выполнения действий с активными элементами можно почитать в конце 2 страницы данной темы

 

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

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

 

Цитата

STRING path = pathname('toolpath',Name) 
// Проверка, есть ли активная траектория 
IF path != '' { 
STRING activename = Toolpath.name 
SIZE TOOLPATH $activename
} ELSE { 
MESSAGE info "Нет активной траектории" 

RETURN

 

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

Сделал так, как сказал eksodus - стёр всё, что было в макросе и вставил лишь 

SIZE TOOLPATH ;

Затем для вызова макроса назначил удобное мне сочетание клавиш, всё отлично работает, спасибо!

Изучаю форум, в частности данную тему. Макросы - вещь, прям находка для меня)) Уже много идей как их можно применять. Очень удобно, а то заипался кликать и вводить каждый раз одно и тоже)) Кстати, заметил, что именно так, из-за постоянно вбивания одних и тех же данных в разные поля ввода и происходят ошибки....

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

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

 

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

 

ENTITY LIST $Selected_Toolpaths = INPUT ENTITY MULTIPLE toolpath "Выберите траектории"

FOREACH $tp in $Selected_Toolpaths {

ACTIVATE TOOLPATH $tp.Name

SIZE TOOLPATH ;

string yesnoprompt = "Продолжить?" 
bool carryon = 0 
$carryon = query $yesnoprompt

if $carryon == 0 {

TEXTINFO ACCEPT
BREAK
}

}

 

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

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

классный макрос!

делать макрос на одну траекторию - даже мне лень )

а тут выбрал - и все траектории по очереди показывает

это очень удобно, спасиб)

 

PS: а есть способ как-то в обратном порядке их перелистывать ?

например - дошёл до конца - и потом назад ?

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

Ну это тебе спасибо, что перевел руководство по макросам, от туда и черпаю информацию. Ты можешь на примере показать, что значит перелистывать в обратном порядке? А то я не понимаю, что нужно сделать.

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

Ну это тебе спасибо, что перевел руководство по макросам, от туда и черпаю информацию. Ты можешь на примере показать, что значит перелистывать в обратном порядке? А то я не понимаю, что нужно сделать.

Где он выложен?

Ссылка на сообщение
Поделиться на других сайтах
В 16.03.2016 в 21:04, eksodus сказал:

Безмерно благодарен и не только я, спасибо за доброе дело... 

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

Ты можешь на примере показать, что значит перелистывать в обратном порядке? А то я не понимаю, что нужно сделать.

пример дать не могу - ибо сам бы тогда сделал

но суть в чём - сейчас макрос перелистывает только вперёд

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

1 час назад, arsenev сказал:

Ну это тебе спасибо, что перевел руководство по макросам, от туда и черпаю информацию.

тут и Кинематику тоже спасибо - без его помощи в исправлении ошибок в макросах я бы не справился

теперь там осталось всего пару ошибок, а было штук 15

я же чуть ли не для каждого примера строил то модель, то инструмент и NC файлы создавал и тд, чтобы проверить работоспособность макросов

а сейчас их можно просто скопировать с пдф-ки и использовать

 

и кстати - в оригинальном руководстве по макросам на английском, в милле 2016-2017 все ошибки так и остались

так что мы единственные кто имеет исправленную версию )

1 час назад, sssdos сказал:

Где он выложен?

эх, это был квест на внимательное чтение первой страницы )

но кто-то поспешил...

30 минут назад, sssdos сказал:

Безмерно благодарен и не только я, спасибо за доброе дело... 

к сожалению, на тот момент я работал в повермилл 2012, поэтому логично что и для перевода взял 2012 версию

 

а в английском руководстве для 2016-2017 милла уже много интересных изменений есть

 

и ещё одно - очень много команд, да и других интересных нюансов, просто отсутствуют в доступе

то есть ни руководство по макросам, ни даже встроенный список команд в меню Справка не содержат то что нужно

так что только искать по форумам англоязычным, если что-то очень нужно

Изменено пользователем eksodus
Ссылка на сообщение
Поделиться на других сайтах
14 часа назад, eksodus сказал:

но суть в чём - сейчас макрос перелистывает только вперёд

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

Понятно. К сожалению, не знаю как это осуществить.

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

Помогите, пожалуйста, создать макрос записи NC-файла. 

Обычно я записываю NC-файл следующим образом: кликаю ПКМ по траектории - создать отдельный NC-файл (он тут же появляется в ветке NC-файлов с таким же именем, как и траетория, это очень удобно и имеет ключевое значение в создании NC-файлов таким образом), затем ПКМ по NC-файлу - записать. 

Пробовал создать макрос простой записью действий, естественно всё привязалось к текущей траектории, с её именем, и на любой другой активной траектории уже не канает)) 

Как сделать так, чтобы при запуске макроса создавался и записывался NC-файл с активной траекторией с таким же именем, как и она сама?

 

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

EXPLORER SELECT Toolpath "Toolpath\2" NEW
CREATE NCPROGRAM "2" EDIT NCPROGRAM "2" APPEND TOOLPATH "2" DEACTIVATE NCPROGRAM
EXPLORER SELECT NCProgram "NCProgram\2" NEW
ACTIVATE NCPROGRAM "2" KEEP NCPROGRAM ;
TEXTINFO ACCEPT


 

Изменено пользователем k.sema
Ссылка на сообщение
Поделиться на других сайтах
  • MFS закрепил это тему

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
    • mactepnew
      Вот я тоже так думал, пока не столкнулся с обратным) Как еще столкнусь, пришлю скриншот. Хаос еще в том, что порядок в дереве построения весьма условный. операция, которая стоит перед групой, имеет бОльший timestamp(пардон, не знаю как это в переводе), чем эта группа, и выполняется позже. При этом все операции в группе имеют timestamp на пару сотен меньше и выполняются раньше, чем две группы, стоящие перед ней. Логика?  Если в эскизе все элементы определены, то можно поставить еще один размер (хочешь переопределить эскиз - да пожалста!), изменить его - и NX самостоятельно выберет, какой размер или ограничение отпустить и весь эскиз летит к чертям. Это ли не хаос?   Назовете хоть один CAD, которым можно пользоваться так? Любой из встреченных мной имеет много неочевидных нюансов, которые конечно не проявляются при выполнении университетского или базового курса. В Creo я на протяжении 5 лет находил всё новые фишки, которые не прописаны в документации. Огромная благодарность Ruslan за пояснения тонкостей. Даже Компас и Solidworks, которые считаются самыми дружественными, оказалось непросто обуздать, когда проходил собеседования и делал тестовые. А ведь университетский курс знал на отлично!   Возвращаясь к NX - вот сегодняшний пример. Утром деталь была оранжевая, единая. Изменил пару уклонов и толщин, стала желтая с элементами оранжевого и частично твердотельной, частично листовой. Я даже не знаю, как сформулировать вопрос в поддержку. 
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • kkk
      Короче, как сделать автоматом не нашел. Раскрасил нужные грани нужными цветами. Затем на вкладке с цветом модели можно выбирать нужный цвет, тогда в модели выбираются грани, покрашенные этим цветом. Можно еще сохранить выбор этих граней, но смысла не вижу, т.к. все легко выбирается по цвету. Затем либо в инструменте Измерить смотрим площадь и как-то ее используем, либо можно макросом (что выкладывал Kir95 ) внести площадь в свойства (на вкладку Конфигурации). Можно еще внести выбранные грани в датчики, но как использовать их в свойствах не нашел.    Макрос прикрепляю.     Площадь выбранных граней в свойства.swp
    • IgnatvKudrin
      Для нашего производства требуются постоянно инструментальные пружины для штампов. Сейчас заказы обрабатываются довольно долго - до 2-х месяцев. А у нас сроки на штампы 1-2 месяца с испытанием, доработкой и т.п. Хотелось бы найти поставщика, у которого уже есть склад с данными пружинами или кто может доставить за 1 месяц.   Пружины стандартные по ISO, но на всякий случай приложил каталог. Вот список пружин, которые нужны очень срочно:   LR 32 x 44 - 1 шт. LR 25 x 51 - 2 шт. LB 63 x 89 - 7 шт. LB 32 x 102 - 10 шт. LB 32 x 89 - 20 шт. LB 32 x 76 - 12 шт. LB 32 x 51 - 6 шт. LB 25 x 127 - 9 шт.   Готов выслушать все предложения. Возможно даже есть те, кто сможет изготовить подобные пружины с такими же параметрами. 20231101.pdf
    • bubblyk
      Знатоки форума, подскажите, как смоделировать простую (на первый взгляд) задачу термомеханики в упругой постановке.   Есть брусок правильный формы ака кирпич, в котором генерируется НЕРАВНОМЕРНОЕ удельное тепловыделение (HGEN). Задняя и передняя поверхности конвективно охлаждаются с известными (но различными) коэффициентами теплоотдачи и температурами жидкости/газа. Свойства кирпича (теплофизика + механика) принимаются зависящими от температуры. Постановка - стационарная Собственно вопрос : как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?   Исходный код приложил.     Надеюсь на коллективный разум и опыт! EPTH2D.mac p.s.   Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.
    • OutXL
      Это было давно использовал NC-Link  и данную инструкцию. The Maho.docx
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • alexqwq10
      В данных корпусах ничего лишнего быть не должно. Максимум шпильки заземления, в количестве предусмотренном для конкретного корпуса. Рассматривал очень много подобных корпусов разных производителей и данная проблема актуальна для подавляющего большинства.
    • MFS
      Коллеги, приветствую, нужно штамповать на горячую из алюминиевого сплава (АК6 или около того) заготовки размером 280*180*12. Подскажите, пожалуйста, параметры пресса для такой заготовки - размеры, усилия. А есл дадите пример такой марки и модели, более менее подходящей для этой работы (нашего или импортного), то будет и еще лучше. Заранее спасибо!
×
×
  • Создать...