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

Макросы в Power Mill


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

4 часа назад, kvint62 сказал:

Не могу понять почему вычисленной траектории присваивается имя предыдущей траектории.

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

и только потом меняете шаблон имени

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

 

надо сначала изменить шаблон имени, и только потом импортировать траекторию

поменяйте местами первые две строки, и всё наладится )

 

PS: вместо команды

ACTIVATE TOOL "Конц.D6" 

можно макросом создать эту же фрезу с нужными параметрами

это уберёт необходимость в импортировании перед макросом инструмента из базы

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


20 часов назад, eksodus сказал:

надо сначала изменить шаблон имени, и только потом импортировать траекторию

поменяйте местами первые две строки, и всё наладится )

 

20 часов назад, eksodus сказал:

ACTIVATE TOOL "Конц.D6" 

можно макросом создать эту же фрезу с нужными параметрами

это уберёт необходимость в импортировании перед макросом инструмента из базы

Спасибо, оказывается все просто)

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

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

Вижу задачу так. Находится всего количество траекторий в проекте. Потом по циклу берется каждая по порядку из списка в дереве и переименовывается...

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

Вижу задачу так. Находится всего количество траекторий в проекте. Потом по циклу берется каждая по порядку из списка в дереве и переименовывается...

используйте цикл FOREACH.

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

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
В 07.02.2017 в 09:20, eksodus сказал:

используйте цикл FOREACH.

Очень удобный цикл. Но где найти информацию? Есть в справке и параметры и документация. Не могу использовать ее. Видимо тупой... Вот не могу решить простую задачу. Мне нужно добавить в один NC-файл все траектории какие есть. Не получается задать правильно параметр:

CREATE NCPROGRAM "100"
FOREACH item IN folder ("Toolpath") {
EDIT NCPROGRAM "100" INSERT $item.name LAST
}

Что делаю неправильно?

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

Что делаю неправильно?

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

 

CREATE NCPROGRAM "100"
FOREACH item IN folder("Toolpath") {
    ACTIVATE TOOLPATH $item.Name
    EDIT NCPROGRAM ; APPEND TOOLPATH ;
}

 

 

и кстати - вот лучше будет вариант для данного случая, вообще без цикла

 

CREATE NCPROGRAM "100"
EDIT NCPROGRAM ; APPEND TOOLPATH ALL

 

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

 

и кстати - вот лучше будет вариант для данного случая, вообще без цикла

Спасибо большое! Я как раз этими двумя строчками и вышел из положения. Просто включил "эхо" и увидел эту команду -

APPEND TOOLPATH ALL

Мне нужно было еще просто уяснить работу цикла. Что задавать?.. На этом примере, если в NC-файл добавить не все траектории, а несколько. Теперь я понимаю, добавляемую траекторию нужно все равно активировать.

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

И вообще, самая главная проблема - это язык программирования. Ведь макрос в PowerMill это своего рода программа, как VisualBasic в Microsoft Office. Сравнивать уровень обоих нет необходимости. Но знать все команды, чтобы писать макросы надо. Но где их взять? Опять же, если взять мой пример о NC-файле. В "эхо" команда добавления - insert. Eksodus применил append. Я только интуитивно понял, что последняя команда применима не только к all. Макросами занимаюсь уже почти год. с мая 2016. До этого, около года проекты писались вручную. А до этого вообще не знал о PowerMill ничего. Замечал, что приходится в каждый проект вносить данные одни и те же. Черновая обработка практически всегда одинаковая для любой модели. Чистовые за малыми изменениями(2-3) тоже. Но каждый раз изменять значения по умолчанию на свои, а в черновой их порядка 20-ти утомительно, да есть риск пропустить что-то, что чревато на станке. Первый макрос сделал для черновой обработки. Дело пошло быстрее... На сегодня у меня 28 макросов, которые сильно мне помогают.

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

Мне нужно было еще просто уяснить работу цикла. Что задавать?..

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

ну и - на этой странице я чуть выше давал ссылку на старый форум делкама по макросам  -

заходите, читайте каждую тему, там много интересного можно найти

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

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

На этом примере, если в NC-файл добавить не все траектории, а несколько. Теперь я понимаю, добавляемую траекторию нужно все равно активировать.

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

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

 

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

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

 

второй способ - вы при создании траекторий можете задать дополнительное имя для черновых как "Черн" например

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

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

Замечал, что приходится в каждый проект вносить данные одни и те же.

........

Но каждый раз изменять значения по умолчанию на свои, а в черновой их порядка 20-ти утомительно, да есть риск пропустить что-то, что чревато на станке.

для таких случаев есть макрос, который активируется при запуске повермилла

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

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

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

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

Но знать все команды, чтобы писать макросы надо. Но где их взять?

включить эхо и посмотреть, выполнив какие-то действия в милле

ну и часть команд можно почитать в справке - Помощь-Переменные

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

Есть ли макросы позволяющие автоматически разделить по слоям вертикальные/горизонтальные поверхности, поверхности перпендикулярные плоскости ХУ (отверстия, пазы, окна)?

есть, нашёл вот такой макрос на форуме делкама

 

Описание:

Цитата

 

Set Name "Not_Flat", contains all curved surfaces
Set Name "Horizontal_Flats", contains all surfaces on the XY plane which are visible when looking down the active Z axis
Set Name "Other_Flats", contains all other flat surfaces (Which do not lie on the XY plane or are not visible when looking down Z)
Set Name "ALL_Flat_Surfaces", contains "Horizontal_Flats" + "Other_Flats"
Set Name "Vertical", contains all vertical (Measured from active Z axis) surfaces. These surfaces may or may not be flat.

 

 

 

Как видим, макрос создаёт 5 слоёв.

Если же нужно потом выбрать какой-то из слоёв - например все вертикальные поверхности:

EDIT LEVEL "Vertical" SELECT SURFACE

Сам макрос:

Select_Flat_and_Vertical_Surfaces.zip

 

 

Цитата

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

стоит ждать ?

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

на русском 

наборы по расположению.mac

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

на русском

там только названия слоёв на русском

все комментарии остались на английском

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

там только названия слоёв на русском

все комментарии остались на английском

Доработал вывод системы координат. и по просьбам телезрителей перевёл

наборы по расположению.mac

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

Доработал вывод системы координат

а можно поподробнее ?

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

а можно поподробнее ?

В зависимости от активной СК в набор "горизонтальные плоскости"  и "вертикальные" попадают разные поверхности - я так понял доступные для обработки соответственно торцем/переферией фрезы в активной системе координат, поэтому и знать в какой системе координат сделан набор весьма полезно

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

знать в какой системе координат сделан набор весьма полезно

это точно, спасибо

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

есть, нашёл вот такой макрос на форуме делкама

 

Описание:

Как видим, макрос создаёт 5 слоёв.

Если же нужно потом выбрать какой-то из слоёв - например все вертикальные поверхности:


EDIT LEVEL "Vertical" SELECT SURFACE

Сам макрос:

Select_Flat_and_Vertical_Surfaces.zip

 

 

стоит ждать ?

да

Ссылка на сообщение
Поделиться на других сайтах
В 21.02.2017 в 12:37, NickEL1000 сказал:

да

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

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

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

 

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

AlignWp.zip

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

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

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

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

Отличные находки, не останавливайся)))

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

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

IF Tool.Name == 'D12' {

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

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

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

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

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

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

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

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

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

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

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

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

    • Sergey Nikolaev



×
×
  • Создать...