-
Ваша корзина пуста!
Здравствуйте, всем))
Сегодня продолжим изучение знакомство с макросами в PowerMill.
И так, гораздо более мощным способом создания макросов станет собственно ручное его написание.
Создавать выражения.
Использовать выражения, чтобы контролировать поток макросов.
Использовать ряд реляционных и логических операторов.
Оценивать выражения.
Присваивать значения для переменных и параметров, используя операции присваивания.
В меню Помощь > Переменные > Справка > Functions вы найдете список всех стандартных функций, которые вы можете использовать в макросах.
Во время интерактивного использования PowerMILL, каждое нажатие пункта меню или ввод данных в диалогах, посылает команды в программу. Эти команды необходимо добавить в файл макроса, чтобы управлять PowerMILL-ом через макрос.
Следующий пример покажет как:
Найти команды PowerMILL для добавления их в макрос.
Разместить их в текстовом редакторе, например в WordPad.
Отобразить макрос в Проводнике Чтобы создать макрос
На панели меню выберите Вид > Панели инструментов > Командное окно, чтобы открыть командное окно.
Выберите Инструменты > Включить эхо на панели меню, чтобы отображать в командном окне выполняемые команды.
3.Для того чтобы увидеть команды, необходимые для вычисления заготовки:
Нажимаем кнопку Заготовка на Главной панели инструментов.
Откроется диалог Заготовка, нажмите Вычислить, и затем нажмите Принять
Сами команды выводятся в квадратных скобках. На символы \r не обращаем внимание. Необходимые команды это: FORM BLOCK, EDIT BLOCK RESET и BLOCK ACCEPT.
4. Откройте WordPad, и введите в нём эти команды.
Команды не чувствительны к регистру. То есть FORM BLOCK тоже самое что и Form Block и тоже самое что и foRm bLock.
5. Сохраните этот файл как iniblock.mac. Макрос добавится в дерево макросов.
Подробнее в прошлой статье. Вот здесь.
Добавление комментариев к макросу
Рекомендуем сразу взять за правило оставлять комментарий перед каждым макросом или командой. Так вы не запутаетесь в своем же коде и сможете быстрее находить нужную строку. Комментарий – это текстовая строка, которая не влияет на работу макроса, но может помочь другим понять макрос, при его исследовании.
Комментарии начинаются с //. Каждая строка комментируется по "новой" независимо от пунктуации.
Например:
// Этот макрос импортирует модель, создаёт заготовку
// и шаровую фрезу.
Также хорошим правилом будет добавление комментариев, объясняющих, что будет делать каждый раздел макроса. Это может быть очевидным при написании макроса, но впоследствии могут возникнуть трудности с пониманием. Хорошим правилом будет и добавление комментариев, описывающих команды, перед самой командой:
// Очистить все черновые границы MACRO Clean 'boundary\Roughing'
Ещё одним способом использования комментариев является временное отключение команд в макросе. При отладке или написании макроса, желательно записывать только один шаг за один раз и перезапускать макрос после каждого изменения.
Если макрос содержит длительные расчёты, или пересоздание траекторий, вам возможно захочется временно закомментировать предыдущие части макроса, пока будут проверяться следующие части. Например:
// Импортировать шаблон траектории
// IMPORT TEMPLATE ENTITY TOOLPATH "Drilling/Drilling.ptf"
Следующий пример покажет, как использовать язык макропрограммирования PowerMILL для создания макроса, который выведет слова из песни-считалки
10 green bottles sitting on the wall 10 green bottles sitting on the wall
And if 1 green bottle should accidentally fall There will be 9 green bottles sitting on the wall
9 green bottles sitting on the wall 9 green bottles sitting on the wall
And if 1 green bottle should accidentally fall There will be 8 green bottles sitting on the wall
И так далее до последнего четверостишья:
1 green bottle sitting on the wall 1 green bottle sitting on the wall
And if 1 green bottle should accidentally fall There will be 0 green bottles sitting on the wall.
Основные шаги:
Создание основного макроса.
Добавление переменных.
Добавление циклов.
Выполнение макроса с аргументами.
Выбор, производимый в макросе.
Более подробно о функциях в макросе.
Использование оператора SWITCH.
Вывод значений из макроса.
Использование цикла FOREACH в макросе.
Использование массивов в цикле FOREACH.
Создание основного макроса
Самый простой способ вывести и запустить макрос, используя язык программирования PowerMILL.
В текстовом редакторе, таком как WordPad, мы пишем:
PRINT "10 green bottles sitting on the wall" PRINT "10 green bottles sitting on the wall"
PRINT "And if 1 green bottle should accidentally fall" PRINT "There will be 9 green bottles sitting on the wall"
Команда PRINT позволяет вывести на экран записанное значение
Сохраните файл как example.mac.
На панели меню выберите Вид > Панели инструментов > Командное окно, чтобы открыть командное окно. Убедитесь, что галочка Инструменты > Включить эхо убрана.
Из контекстного меню Макросы выберите Выполнить. Появится диалог Выберите запускаемый Макрос.
Перейдите в нужную папку, выберите example.mac, и нажмите Открыть. Макрос запустится, и в командном окне отобразится текст, заключённый в двойные кавычки (") в макросе.
Добавление переменных
Первые две строки в макросе example.mac одинаковые. Чтобы минимизировать повторения (и для более лёгкого управления) хорошо бы записать строку один раз, а затем повторно вызывать её когда она понадобится. Чтобы сделать это, необходимо создать локальную переменную, содержащую текстовую строку.
Можно создавать различные типы переменных в PowerMILL. Для сохранения строки, содержащей текст, необходимо использовать переменную STRING.
Откройте файл example.mac в текстовом редакторе и измените его на:
// Создание переменной, содержащей текст первой строки STRING bottles = "10 green bottles sitting on the wall" PRINT $bottles
PRINT $bottles
PRINT "And if 1 green bottle should accidentally fall" PRINT "There will be 9 green bottles sitting on the wall"
Первая строка – это комментарий, который объясняет
значение второй строки.
Сохраните файл как example.mac.
В PowerMILL нажмите Выполнить на этом макросе. Командное окно отобразит то же, что и раньше:
Обязательно следует выполнять следующие особенности при работе с переменными:
Вы должны задать все локальные переменные до того, как они будут использоваться, - в нашем случае
STRING bottles = "10 green bottles sitting on the wall" задаёт локальную переменную bottles.
Переменная bottles является локальной переменной, поэтому она будет использоваться только в макросе, где она задана. Она не является переменной PowerMILL. Если ввести её в командном окне – мы получим ошибку.
Можно задать неограниченное число локальных переменных в макросе.
Добавим цикл
Как уже писалось выше, в нашем макросе добавлено две одинаковых строки: PRINT $bottles. Сейчас в этом нет ничего страшного, потому что эти строки спользуются только дважды, но если вы захотите повторить их 5 или 20 раз, будет лучше использовать цикл.
PowerMILL имеет три оператора циклов:
WHILE
DO - WHILE
FOREACH
Следующий пример использует оператор WHILE для повторения команды 5 раз.
Откройте макрос example.mac в текстовом редакторе и измените его на:
// Создание переменной, содержащей текст первой строки. STRING bottles = "10 green bottles sitting on the wall"
// Создание переменной для хранения количества раз,
// которые нужно напечатать первую строку.
// В данном случае, 5. INT Count = 5
// Повторение цикла до тех пор, пока Count больше 0
WHILE Count > 0 {
// Вывод строки PRINT $bottles
// Уменьшение счётчика на 1
$Count = Count - 1
}
// Вывод последних двух строк
PRINT "And if 1 green bottle should accidentally fall" PRINT "There will be 9 green bottles sitting on the wall"
<