ADN Open CIS
Сообщество программистов Autodesk в СНГ

13/12/2015

Работа с макросами в Revit - Первый макрос

Готовы начать писать макросы? Вы увидите, что это не сложный процесс.

Шаг 1. Диспетчер макросов.

Создайте новый проект. Выберите вкладку Управление на ленте и затем на иконку Диспетчер макросов. Откроется диспетчер макросов.

 

Макросы могут хранится как в файле проекта, так и непосредственно в приложении Revit. Макросы, который сохраняются в файле проекта, могут использовать другие пользователи, работающие с этим файлом. Макросы, сохраненные внутри приложения, сохраняются в конфигурационном файле текущего пользователя. Такие макросы могут быть использованы на любых проектах, но только тем пользователем, который этот макрос создал.

 

Шаг 2. Создание нового модуля.

Макросы организованы по модулям. Перед созданием макроса в новом файле проекта, сначала всегда нужно создать модуль. Модуль – это всего лишь набор макросов. Названия модулей не могу содержать пробелы или спец. символы.

Для создания модуля, выберите вкладку «Проект 1» и затем, в группе Создать нажмите кнопку Модуль. В диалоге Создание нового модуля введите название МойПервыйМодуль. Макросы можно писать на C#, VB.NET, Python или Ruby. Для данного упражнения, выберите C# в качестве языка. Нажмите ОК для создания модуля.

 

После создания нового модуля будет запущен SharpDeveloper. SharpDeveloper – это открытая среда разработки, которая была встроена в Revit для программирования макросов.

Шаг 3. Создание нового макроса

Пока что у вас есть только модуль. Внутри модуля можно создать макрос. В группе Создать нажмите кнопку Макрос. В диалоге создания нового макроса введите название – МойПервыйМакрос.

 

Шаг 4. Написание макроса

Переключитесь в SharpDevelop. Вы увидите стандартный код C#, который был автоматически сгенерирован при создании нового модуля. Внизу вы увидите начало кода для макроса МойПервыйМакрос.

 

Ваш первый макрос просто будет отображать окно с сообщением. Нужна всего лишь одна строчка кода. После фразы  public void МойПервыйМакрос() введите следующий код (между кавычек):

Код - C#: [Выделить]
  1.                         public void МойПервыйМакрос()
  2.                                {
  3.                                                TaskDialog.Show("Мой первый макрос", "Привет, Revit!");
  4.                                }

Не забудьте про точку с запятой в конце. Она обозначает конец стоки в C#.

Шаг 5. Сборка макроса.

Как только вы набрали код, можно начать компилировать или «собирать» макрос. Все макросы должны быть собраны, перед их запуском. В меню SharpDevelop выберите Сборка, затем Собрать решение.

 

SharpDevelop скомпилирует ваш код в промежуточный код .NET. Любые ошибки и предупреждения отображаются в нижней части экрана:

Если есть ошибки, дважды проверьте ваш код. В окне с ошибками отображается номер строки, поэтому ее довольно легко найти.

Шаг 6. Запуск макроса.

Если макрос успешно собран, вернитесь в Revit и откройте Диспетчер макросов. (Управление – Макросы – Диспетчер макросов). Вы должны увидеть MoйПервыйМакрос под МойПервыйМодуль.

 

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

 

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

 

Пробелы и разделители строк игнорируются в C#. Поэтому для удобства чтения можно разбить выражение на несколько строк для читабельности.

Код - C#: [Выделить]
  1.                         public void МойПервыйМакрос()
  2.                                {
  3.                                                TaskDialog.Show("Мой первый макрос",
  4.                                                                "Текущий файл: "
  5.                                                                + this.Application.ActiveUIDocument.Document.PathName);
  6.                                }

Объект this.Application.ActiveUIDocument представляет собой текущий файл модели. Объект Document содержит данные, содержащиеся в этом файле. Для того, чтобы отобразить активный вид, измените Document.PathName на ActiveView.Name.

Источник: http://thebuildingcoder.typepad.com/blog/2015/10/rtc-classes-and-getting-started-with-revit-macros.html#13

 

Автор перевода: Виктор Чекалин

Обсуждение: http://adn-cis.org/forum/index.php?topic=3278

Опубликовано 13.12.2015
Отредактировано 15.12.2015 в 16:37:43