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

Макросы в 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
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
    • gudstartup
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
    • gudstartup
      очень даже спрашивают как обязательную информацию для проверки вашей компании налоговый идентификатор должен быть указан. на myfanuc не спрашивают а вот на портале к сожалению просто так не зарегаться. 
    • david1920
      На 0I-TC mate менял плату управления приводами На 18i-TB менял для диагностики платы процессоров (один был от Spinner другой простой) процы были одинаковые Всё работает
    • brigval
      Браком 1.04В версии 1.04Добавлено: Автоуменьшение высоты шрифта многострочного наименования в ОН чертежа.Добавлено: Переименование поверхностей, баз, размеров в порядке их следования на чертеже.Добавлено: Переименование изображений по ГОСТ: сначала виды, затем разрезы, сечения, выносные элементы.Добавлено: Выравнивание неассоциативных видов.Добавлено: Ручной ввод шага и угла наклона штриховки.Добавлено: Перемещаются в макроэлемент компоненты, исключаемые из спецификации.Добавлено: Выбор количества значащих цифр в значении площади поверхности детали для вставки в ТТ.Добавлено: Возможность не авторазмещать ТТ перед конвертацией чертежа в PDF.Добавлено: Добавлены кнопки «Выделить все включенные в расчет» и Выделить все исключенные из расчета».Добавлено: Версия КОМПАС-3D Home показывается в программе со словом Home.Добавлено: Улучшен алгоритм считывания и вставки ТТ чертежа.Добавлено: При конвертации чертежа в PDF удаляется старый файл с таким же обозначением в начале имени, как обозначение в начале имени нового файла.Добавлено: Улучшено считывание номеров позиций из 3D-модели сборки.Исправлено: Иногда скрытые и потом показанные объекты чертежа отображались не серым цветом.Исправлено: Иногда после ручного заполнения графы «Масса» ОН чертежа в окне программы масса могла отображаться не правильно.Исправлено: В некоторых случаях из ОН чертежа могла не считываться литера.Исправлено: В некоторых окнах программы неправильно показывался заголовок окна программы.Исправлено: Другие замеченные мелкие ошибки и неточности кода.Скачать
    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
×
×
  • Создать...