Перенос образцов SDK в Revit Macro IDE

Если требуется использовать для макросов программу-образец SDK, необходимо внести изменения.

В средствах Revit SDK содержатся две папки образцов:

\Revit SDK <версия>\Software Development Kit\Samples\...

\Revit SDK <версия>\Software Development Kit\Macro Samples\...

В программах в папке \Samples\ SDK используется стандартный API Revit. Такие образцы здесь называются "программы-образцы SDK", в отличие от "образцов макросов Revit".

Действуйте, как описано в данном разделе. В примере использован образец на языке программирования C#. Однако те же инструкции относятся и к версиям образцов SDK на языке VB.NET.

Исходные операции

Первоначальные операции по переносу образцов для стандартного API из SDK в проект Revit Macro IDE подобно описаны в разделе Интеграция макросов в Revit IDE. Вместо копирования файлов из папок \Macro Samples\<имя-образца>\... SDK нужно будет скопировать файлы из папок \Samples\<имя-образца>\... SDK.

Приведем необходимые операции в качестве напоминания:

  1. В IDE добавьте обязательные ссылки
  2. В IDE создайте папки для образцов SDK, для которых требуется выполнить перенос.
  3. В Проводнике Windows скопируйте файлы образцов SDK для стандартного API в соответствующие папки файловой системы.
  4. В IDE добавьте имеющиеся файлы в проект макроса.

Обновление программы образцов SDK

В Revit Macro IDE интерфейс IExternalCommand недоступен и не используется. В программе-образце SDK для стандартного API следует обновить класс, унаследованный из этого интерфейса:

Пример программы перед внесением правки

Далее приводится фрагмент программы, использующей стандартный API Revit:

Пример программы после внесения правки

В Revit Macro IDE необходимо обновить код, как указано далее. В данном примере показан макрос уровня приложения. Метод RunSampleRooms() представляет собой точку входа для данного образца макроса. Обратите внимание, что вместо commandData.Application используется указатель this.

Дополнительные замечания по процедуре переноса образцов SDK для стандартного API