Интеграция макросов в Revit IDE

Для интеграции макроса в проект макроса Revit выполните следующие действия.

Этот раздел можно пропустить, если образцы, описанные в разделе "Использование образцов макросов Revit SDK" соответствуют вашим потребностям.

В данном разделе поясняется, где можно создать папки в проектах IDE, соответствующие ресурсам в файловой системе, а также как добавить обязательные ссылки и определения свойств. В макросах, скомпонованных в файле Revit_Macro_Samples.rvt, поставляемом вместе с пакетом SDK, эти операции уже выполнены.

Добавление обязательных ссылок

Если макрос представляет собой пользовательский интерфейс, в проект требуется добавить ссылки. Например, в макросе SampleRooms SDK необходимо добавить ссылки на следующие пространства имен:

  1. System.Windows.Forms
  2. System.Drawing

Начав работу в Диспетчере макросов, выберите тип проекта и нажмите "Изменить".

В IDE перейдите в окно "Project Explorer". По умолчанию оно закреплено на правой стороне дисплея.

В случае проекта макроса (например, AppCSharp), щелкните правой кнопкой мыши в разделе "References" и выберите в контекстном меню команду "Add Reference".

В диалоговом окне "Add Reference" найдите в списке и выберите System.Drawing и System.Windows.Forms. Выбор нескольких элементов выполняется при нажатой клавише Ctrl. Например:

По завершении нажмите кнопку "ОК".

Окно "Project Explorer" в IDE обновляется, в нем отображаются новые ссылки:

Создание папок в Revit IDE

В "Проводнике проектов" IDE щелкните правой кнопкой мыши на проекте макроса и выберите пункт меню "Добавить" "Новая папка". Например:

Присвойте имя папке. В этом примере папка будет называться Samples. Затем щелкните на записи папки "Образцы" и повторно выберите пункт меню "Добавить" "Новая папка" для добавления вложенной папки, например "Помещения".

Вне среды IDE для перехода к установочным папкам Revit и поиска папки VstaMacros следует использовать Проводник Windows. Обратите внимание, что в этой папке были созданы соответствующие вложенные папки \Samples\Rooms.

Копирование пользовательского макроса в папку файловой системы

Вне среды Revit IDE скопируйте файлы макросов в созданную вложенную папку.

Прим.: Если для макроса используется файл ResX, его также следует скопировать.

Добавление имеющихся файлов в проекты макросов в IDE

Вернитесь в среду Revit IDE. В "Проводнике проектов" (для продолжения работы над данными примером) щелкните правой кнопкой мыши на папке, созданной для макроса, и выберите в контекстном меню "Добавить" "Существующий элемент". Например:

Перейдите в диалоговом окне IDE в соответствующую вложенную папку папки установки Revit (например, в папку Revit SDK Macro Sample), выберите все файлы, относящиеся к макросу, и нажмите кнопку "Добавить".

В данном примере обновленный проводник проекта IDE для GetTimeElapsed_CSharp содержит следующие компоненты:

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

После добавления файлов в проект можно написать метод, выполняющий макрос. Например, на языке C#:

///
Sample Rooms testpublic
void RunSampleRooms(){
SamplesRoom
sample = new SamplesRoom(this);sample.Run();
}

Не забудьте добавить директиву "using" для пространства имен макроса. Например:

using Revit.SDK.Samples.Rooms.CS;

Сохраните проект, а затем выберите "Build" в меню панели инструментов IDE. Запустите в Revit Диспетчер макросов и выберите макрос в систематизированном по категориям списке. Образец Rooms в SDK может быть представлен кодом макрокоманды уровня документа; в этом случае для ее выполнения в проекте AppCSharp, показанном на копиях экрана в настоящем разделе, потребуется изменение кода.

При выполнении из окна Диспетчера макрос собирает данные из модели и выдает сводную информацию. Далее приводится пример:

Свойства resources.resx

Обратите внимание на то, что один из образцов макроса Revit — GridCreation — имеет зависимости с файлом файлом resources.resx. Прежде чем экспериментировать с образцом GridCreation, настройте файл ResX в Revit macro IDE. Эта операция уже выполнена в образцах уровня документа, встроенных в Revit_Macro_Samples.rvt (из пакета SDK). Однако для макросов, разрабатываемых самостоятельно, возможно, потребуется определить свойства в файле resources.resx проекта. В данном разделе приведен пример.

В "Project Explorer" перейдите в папку Properties для пользовательского макроса. Например, YourMacro Образцы GridCreation Свойства.

Выделите файл resources.resx.

На панели "Свойства" выберите свойство "Пользовательский инструмент" и введите ResXFileCodeGenerator в столбце "Значение".