Макросы в Текле, Tekla Structure Macros how to
Tekla Structures позволяет записывать действия пользователя в макрос, который потом можно «проиграть», что позволяет ускорить рабочий процесс на пару другую операций. С учетом любви разработчиков к огромному количеству вложенных меню, с параметрами и постоянным «применением», макросы реально могут спасти кучу времени.
Записываем макрос с помощью интерфейса Tekla Structures:
Чтобы записать макрос нужно сделать следующее:
- Выбрать Tools(инструменты) > Macros в меню, для того чтобы открыть диалог работы с макросами.
- Ввести имя нового макроса.
- Включить «Запись» (record)
- Произвести требуемые манипуляции в Tekla
- Чтобы прекратить запись жмем Stop.
После этого будет создан файл с вашим именем и расширением .cs в папке которая прописана как основная в Advanced Options\XS_MACRO_DIRECTORY
Соответственно найти его можно в виде отдельного файла, в специальной папке, обычно это что-то типа:
C:\ProgramData\Tekla Structures\19.0\Environments\Common\macros\
Если можно поменять путь к этой папке,на сетевой, или узнать где именно она прописана у вас. Смотрим здесь:
Инструменты>Опции>Расширенные опции
или
Tools > Options > Advanced Options,
или сочетание клавишь ctrl+E
- И там выбрать ‘File Locations’, справа найти строку XS_MACRO_DIRECTORY там будет путь к папке, в этой папке и будут ваши макросы.
Как редактировать макросы Tekla Structures
Макросы штука объемная и позволяет делать много интересного. Соответственно то, что было создано автоматически не всегда является тем что действительно нужно. Не беда, можно поправить в ручную.
- Либо с помощью C# Visual Studio, например бесплатной версии Express
- Либо с помощью NotePad++
- Либо с помощью стандартного блокнота.
- А еще бывает удобно заглядывать в справку
Как выглядит макрос (скрипт)
В общем виде скрипт выглядит так:
{
{
public static void Run(Tekla.Technology.Akit.IScript akit)
akit.Callback(«acmd_display_dialog», «dia_view_dialog», «main_frame»);
akit.PushButton(«v1_get», «dia_view_dialog»);
akit.ValueChange(«dia_view_dialog», «v1_projection», «1»);
akit.PushButton(«v1_modify», «dia_view_dialog»);
akit.PushButton(«v1_ok», «dia_view_dialog»);
}
}
}
На первый взгляд немного мудрёно, но на самом деле всё довольно просто. Например в представленном скрипте мы вызываем диалог: akit.Callback(«acmd_display_dialog«, «dia_view_dialog», «main_frame»);
в диалоге жмем кнопку Get(Получить) : akit.PushButton(«v1_get«, «dia_view_dialog»);
Меняем одно из значений и жмем кнопки изменить: PushButton(«v1_modify«. И еще одну OK: akit.PushButton(«v1_ok«, «dia_view_dialog»);
Соответственно скрипты можно редактировать, добавлять и убирать действия. Так же, поскольку в качестве языка скриптов в Tekla Structures применяется C#, мы можем добавлять переменные, производить вычисления, и даже создавать свои собственные меню. Для примера можно скачать и изучить скрипт из этой статьи.
Еще по теме
- А тут можно узнать о том как устанавливать макросы в Текле и запускать
- Tekla OpenAPI FAQ — собраны примеры задач и их решений в среде теклы.
- Tekla макро — нумерация листов с помощью скрипта
- Tekla макро — снимаем блокировкировку с любых объектов.
- Tekla макро — интерфейс для интерактивной работы с метаданными объектов
- Tekla макро — вызываем скрипт из программы
Здравствуйте.
Создал и пользовался макросами в тс21.1. Сейчас попробовал перенести свои макросы в ts 2016i, 2017, 2017i.
Все макросы работают, но теперь на их выполнение требуется заметно больше времени чем в ts21.1. Работать немного не комфортно.
Не подскажите в чем дело и возможно ли это решить?