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

Макросы в 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 пользователей

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...