Публичное API помогает разработчикам, использующим платформу AIS для распространения своих решений, создавать и адаптировать решения для распространения через Маркетплейс.
Поддерживаемые языки программирования
Наименование ЯП | Начиная с версии | До версии (включительно) |
---|---|---|
C# | 8.0 | 12.x |
Поддерживаемые Продукты
Наименование | Начиная с версии | До версии (включительно) |
---|---|---|
Revit | 2019 | 2025 |
Поддерживаемые фреймворки и программные пакеты
Наименование | Версия | ЯП | Продукты |
---|---|---|---|
.NET Framework | 4.8 | C# | Revit 2019 - 2024 |
.NET | 8 | C# | Revit 2025 |
Родительский Продукт - программное обеспечение (комплекс программного обеспечения) для которого доступно расширение базовых возможностей. Разработчик - юридическое или физическое лицо разрабатывающее/разработавшее расширение для Родительского Продукта на платформе AIS. Платформа AIS - программное решение интегрируемое в Родительские Продукты и позволяющее создавать/адаптировать и распространять Разработчикам их программные расширения базового функционала для Родительских Продуктов. Команда - программное решение, разработанное Разработчиком, расширяющее возможности поддерживаемого Родительского Продукта. Плагин - физическая группа Команд. Такой набор Команд, в котором каждая отдельная Команда не может быть поставлен/использована отдельно/независимо. Пакет - логическая группа Команд. Набор Команд, объединенный по какому-либо логическому признаку. Маркетплейс - магазин программных расширений Родительских Продуктов созданных/адаптированных Разработчиками. Пакет поставки - специализированный файл, подготовленный при помощи утилит входящих в комплект SDK, содержащий всю необходимую информацию для выполнения публикации на Маркетплейсе созданного/адаптированного Разработчиком под платформу AIS программного расширения Родительского Продукта. Сборка - физический бинарный файл, содержащий исполняемую и описательную часть Команды.Термины
Общее описание
Для расширений возможностей поддерживаемых Родительских Продуктов используются базовые объекты выполняющие описания Команды и ее составляющих. Команда подразумевает минимальный набор связанного программного функционала. Например: подсчет чего-либо, замена определенных значений попадающих под условие и т.п. - являются Командами в рамках платформы AIS. Не рекомендуется определять целые наборы функционала в одну команду. Например: набор из инструментов по работе с текстом и т.п. - должны быть разбиты на отдельные Команды и объединены в Плагин, в случае, если раздельное использование инструментов из набора невозможно, либо в Пакет или Пакеты, если инструменты из набора допускают логическую(ие) группировку(и).
Рекомендуется использовать для каждой Команды свою (отдельную) Сборку, Сборки объединять, по необходимости, в Пакеты.
Основными объектами для описания Команды являются реализации:
Объект | Обязательно | Специфично для РП | Примечание |
---|---|---|---|
Дочерние описания ICommand | Да | Уникальные описания для каждой Команды размещенной в Сборке | |
Описание IDeveloper | Да | Уникальное описание Разработчика которому принадлежат Команды размещенные в Сборке | |
Описание IPlugin | Указывается в случае невозможности деления Команд размещенных в Сборке | ||
Описание IPackage | Указывается в случае участия Команд размещенных в Сборке в Пакете(ах) | ||
Дочерние описание поддерживаемых элементов управления IRevitControl | Да | Revit 2019 - 2025 | Выполняет описание допустимого элемента управления для Команды |
Правила описания объектов Сборки
Описание IDeveloper должно всегда присутствовать в каждой Сборке. Допускается только единственное описание IDeveloper для всей Сборки.
В каждой Сборке должно присутствовать минимум одно дочернее описание ICommand. Допускается, но крайне не рекомендуется, наличие описания для различных Родительских Продуктов в рамках одной Сборки. Рекомендуется располагать в одной Сборке описание только одной Команды.
Описания IPlugin и/или IPackage должны присутствовать в случаях физической и/или логической группировки расположенных в Сборке Команд. Допускается множественное описание IPlugin и/или IPackage.
Правила описания для Родительского Продукта Revit
Дочерние описание одного из поддерживаемых элементов управления IRevitControl должно быть обязательно указано/реализовано в описании Команды (IRevitCommand). Команды без описания элемента управления у Команды не будут видны/доступны для вызова в графическом интерфейсе Родительского Продукта.
Допускается отсутствие реализации элемента управления IRevitControl только у фоновых и вспомогательных Команд.
Функционал фоновых и вспомогательных Команд находится в разработке и будет доступен в будущих версиях/релизах.
Объекты API
Все объекты API можно разделить на несколько групп: описательные, вспомогательные, служебные, справочные.
Описательные объекты
Помогают выполнить описание программного(ых) решения(й) размещаемых в Сборке.
К описательным объектам относятся:
Вспомогательные объекты
Помогаю Разработчику в создании/адаптации программного решения под платформу AIS.
К вспомогательным объектам относятся:
- IImageTool (часть инструментов AISTools)
- IRevitTool (часть инструментов AISTools)
- IRevitControl
- Элементы управления
- События Revit
Служебные объекты
Помогают в реализации дополнительных параметров описания. Являются самостоятельными инструментами.
К служебным объектам относятся:
Справочные объекты
Помогают кодировать параметры числовыми значениями, основываясь на текстовом представлении понятном для Разработчика.
К справочным объектам относятся:
- RevitButtonSize
- RevitCommandStatus
- RevitControlPlacement
- RevitControlPosition
- RevitStackDirection
- SupportedProduct