revit api что это
Revit api что это
Последнее занятие учебного курса посвящено дополнительной информации, которая поможет вам увеличить эффективность разработки плагинов для Autodesk Revit. Мы покажем вам, где найти справочные сведения по API, документацию и примеры для изучения Autodesk Revit API.
Прежде всего давайте проанализируем ресурсы API, которые могут быть установлены с продуктом Autodesk Revit:
Набор инструментов разработчика Autodesk Revit (SDK)
Revit SDK содержит большой набор информации по Revit API. Они делятся на три категории: документация, примеры и инструменты.
Набор SDK содержит два документа Microsoft Word: один для начинающих изучать Revit API, а другой содержит список изменений в сравнении с предыдущей версией Revit API. Также там присутствует документ Adobe PDF под названием Revit API Developer Guide, в котором содержится информация об основах API по разделам. Еще один очень важный документ для работы с Revit API – это справочная документация, которая находится в файле RevitAPI.CHM. Вам доступен поиск по всем классам, методам и свойствам в Revit API с примерами кода (если они представлены).
SDK содержит солидный список примеров API, которые покрывают почти все возможности Revit API. Наиболее эффективным будет открыть главный файл решения “Samples” в Visual C# Express и найти метод API, с которым вы хотели бы работать. Вы быстро изучите способы применения данного метода и сможете использовать его в своих плагинах. SDK также содержит примеры Visual Studio для Applications (VSTA), которые показывают возможности VSTA для подготовки наброска кода и проверки функциональности в Revit API.
Autodesk Revit Developer Center – это отличный ресурс, посвященный Autodesk Revit API. Помимо улучшений и дополнений к API, он содержит еще несколько полезных вещей. В него включено:
Блог The Building Coder
Building Coder – это популярный блог с информацией по Revit API, включая статьи, обсуждения методов использования API и ответы на наиболее часто задаваемые вопросы по API.
На этом учебный курс завершается. Надеемся, что данные статьи оказались вам полезны и дали старт в освоении Revit API. Желаем вам успеха в работе с API.
Revit api что это
Этот учебный курс предназначен для опытных пользователей Autodesk Revit, которые заинтересованы в более производительной работе, стремятся автоматизировать и расширить возможности Revit, но не имеют навыков компьютерного программирования.
*В учебном курсе рассматривается работа с Autodesk Revit Architecture, однако все описанные действия можно применить и для других вариантов Revit. Принципы написания дополнений для 2011 (и последующих) версий продуктов Revit Architecture, Revit Structure и Revit MEP идентичны. Для 2011 и 2012 версий в ходе занятий пользователям предлагается работать в среде Visual Studio Tools for Applications (VSTA). В Revit 2013 VSTA заменена на SharpDevelop.
В Интернете доступно множество учебных ресурсов по Autodesk Revit API, но большинство из них предназначено для пользователей, имеющих достаточный опыт в программировании. Этот учебный курс организован по-другому: не предполагая наличия навыков программирования у обучаемого, он помогает создать первый плагин, при этом не перегружая пользователя лишней информацией. Вне зависимости от уровня владения основами программирования, уже через час после начала занятий обучаемый будет иметь вполне работоспособное приложение. Курс открывается обзором преимуществ адаптации продуктов Autodesk, а затем мы перейдем непосредственно к занятиям по использованию Autodesk Revit API. Обучаемые создадут работоспособный плагин, и лишь после этого во всех подробностях ознакомятся с основополагающими принципами и приступят к расширению функциональных возможностей приложения.
В ходе учебного курса «Моя первая программа» будет создана новая команда, копирующая группу объектов (в нее могут входить мебель, перегородки и элементы инженерных систем) из одной комнаты в другую. В моделях зданий часто встречается одинаковая компоновка мебели. Ее копирование вручную – довольно трудоемкий процесс: проблемой может стать, например, сохранение одинакового положения. Задачи такого рода идеально подходят для автоматизации посредством Autodesk Revit API, что и будет представлено вниманию обучаемых в этом курсе.
Видео: Готовый плагин
В видеоролике демонстрируется финальный вариант плагина, созданный на шестом занятии учебного курса.
Видео: Установка Visual C# 2010 Express
Урок 1. Общее представление о программе
На этом уроке мы создадим первый базовый плагин для Autodesk Revit, который копирует выбранную пользователем группу в указанное место.
Урок 4. Отладка кода
На этом уроке мы научимся использовать отладчик Visual Studio для пошагового исполнения плагина и отслеживания изменения переменных.
Урок 8. Дополнительные ресурсы
На этом уроке мы предоставим вам дополнительную информацию, которая поможет повысить эффективность разработки плагинов для Autodesk Revit. Мы покажем, где найти справочные сведения по API, документацию, примеры, а также порекомендуем ресурсы для дальнейшего изучения Autodesk Revit API.
Учебные материалы по Revit API
Решил собрать в одном месте все материалы, которые будут полезны тем, кто решил начать программировать под Revit. Будет пополняться. Как всегда, прошу под кат.
Ссылки
Первое с чего все начинали — учебный курс «Моя первая программа под Revit». Рассчитан на тех, кто с программированием пока вообще не сталкивался: https://www.autodesk.ru/autodesk-developer-network/api-trainings/my-first-plugin/first-prog-adsk-revit
Блог главного гуру по Revit API — Джереми Таммика: thebuildingcoder.typepad.com
Главный источник информации по API — это комплект разработчика (SDK), его можно скачать здесь: https://www.autodesk.com/developer-network/platform-technologies/revit
Там есть папка Samples с готовыми примерами кода, от простых до сложных, а еще файлик RevitAPI.chm — полный комплект документации по Revit API.
Ваши глаза в лабиринте Revit API — супер-полезная утилита Revit Lookup (серьезно, поставить в обязательном порядке): https://forums.autodesk.com/t5/revit-bim-russkiy/revitlookup/td-p/7393469
Частые вопросы:
Зачем тратить силы на изучение C#, если можно использовать Dynamo и Python, это же намного проще?
Dynamo — замечательный инструмент для решения геометрических задач: построить кривые и поверхности, разбить на участки, найти пересечения, элементы разложить и всё такое (спасибо библиотеке ProtoGeometry.dll). Но для работы с данными — считать, записать параметры, сделать проверки и т.д. — Dynamo уже плохо подходит. Синтаксис Python действительно проще C# — но и его тоже нужно изучать! При этом для C# есть специализированная среда разработки, где тебе и сразу подходящие варианты предлагают, и ошибки сразу подсвечивают. Почти все примеры кода, которые вы встретите в документации и в интернете, тоже будут на сяшарпе. Dynamo же, бывает, оперирует собственными классами, не описанными в API, и разбираться с ними — то еще развлечение. Смотрю на вопросы в чатах по динамам и питонам, и понимаю, что благодаря удобной среде разработки даже не столкнулся в их проблемами. В общем, вам выбирать, я своё мнение высказал…
По какому пути лучше идти? Пару раз начинал изучать программирование, и что-то не пошло.
Если изучать по принципу «так, что-то у меня вечер свободный, чем бы заняться, может по программированию видосики посмотреть?» — действительно ничего не выйдет. Лично я начал изучать не от хорошей жизни. Совсем другой настрой, когда перед тобой стоит задача, и отвертеться от неё никак не получится — голову об эту стенку разбей, зубами вцепись и грызи, но сделай.
Перепробовал весь стандартный функционал, какой только в Ревите есть; всю сеть перешерстил на тему готовых плагинов и всех знакомых спросил, есть ли у них идеи; попытался за свои деньги нанять программиста и так и не дождался результата; чуть не сошел с ума, раз за разом вписывая одни и те же циферки; засыпал с мыслью об этих чертовых табличках и просыпался с мыслью о них же — и вот теперь ты на нужном уровне мотивации, чтобы приступать к API! А если «пробую и что-то не получается» — значит, оно и не надо.
Я столько слышал про API, будто это что-то легендарное, изучу и смогу делать что угодно, это правда?
Увы, нет. API это по большей части всё то же, что и делаешь, нажимая кнопочки в интерфейсе. А бывает даже так, что к каким-то вещам у API вообще нет доступа! Например, нет доступа к формулам расчетных параметров или переопределению графики связанных файлов. Редко когда встретишь в API такую возможность, которой в графическом интерфейсе нет. Так что сказкам не верьте, ничего нет сверхъестественного.
Есть ли обучающие видеокурсы по Revit API?
В интернетах таких курсов не видел, и один знакомый программист даже говорил, что такой курс сделать невозможно. Но тем не менее, я провел такой курс, пока в Пике работал, именно «с нуля» — половина по теории C#, половина по Revit API. Когда-нибудь и на «широкую аудиторию» его проведу (нет)
Программирование доступно только гениям и избранным, даже пробовать не буду…
Тоже неправда. Тот, кто разрабатывает семейства-спецификации в Ревите — уже программист! Например, уже знаком с логикой ООП, пусть даже и не знает еще, что это именно оно. Логика программ сложна, но не сложнее той логики, которую надо продумать в каком-нибудь составном параметрическом семействе. А для того, чтобы сделать первые плагины, достаточно самых азов языка (в этом курсе, например, из 25 глав достаточно изучить первые 3). А в создании ореола «избранности» обычно сами программисты и заинтересованы, и неудивительно…
(здесь должен быть какой-то эпилог, но я его не придумал)
Всем привет! Тут мой блог об Autodesk Revit, а на самом деле — просто блокнот, куда я записываю свои идеи.
Надеюсь, что информация окажется полезной и интересной.
Autodesk ® Revit, Autodesk® Revit® Architecture, Autodesk® Revit® Structure, Autodesk® Revit® MEP
Получайте новости и рекомендации непосредственно от специалистов Autodesk.
Блог специалистов технической поддержки ADN — ADN AEC DevBlog
Форумы пользователей
Включайтесь в обсуждения проблем применения API на форумах, которые модерируются специалистами Autodesk.
Autodesk App Store для Revit: Наращивайте функционал Revit с помощью приложений, разработанных для сообщества пользователей.
Облачные вычисления: Узнайте, как можно разработать и интегрировать с Revit собственное облачное решение (Software as a Service).
DevTV: Дополнение к Введению в программирование для Revit 2012/2013 (на английском языке)
Краткий учебный видеокурс рассказывает об изменениях в Revit 2012 API и том как запустить примеры разобранные в «Введение в программирование для Revit»
DevTVs Часть 1 и 2 для Revit 2012
Онлайн-просмотр | Загрузка
Конференция Autodesk Revit DevCamp 2013 (онлайн и на русском языке)
Смотрите видеоролики и скачивайте презентации. Изучайте материалы, которые были представлены на конференции Autodesk Revit DevCamp 2013.
Архив презентаций.
Также вы можете воспользоваться полезным онлайн справочником Revit Wiki Help:
Software Development Toolkit (SDK) входит в каждый продукт семейства Revit. Установить Revit SDK можно двумя способами:
Revit SDK можно также загрузить здесь:
* Использование Revit SDK регламентируется условиями лицензионного договора, который отображается в процессе установки.
Если вам необходима профессиональная поддержка по вопросам программирования в Autodesk Revit, мы рекомендуем присоединиться к сообществу Autodesk Developer Network.
При поддержке компании Autodesk проводятся тренинги на русском языке для программистов и опытных пользователей по API основных программных продуктов. Информацию о тренингах Autodesk Revit API можно найти здесь
Если вы хотите оставить заявку на проведение тренинга по Autodesk Revit API в вашем регионе или на вашем предприятии, вы можете связаться с нами. Контактное лицо в Autodesk – Ярослав Решетников,
yaroslav.reshetnikov@autodesk.com.
Техническая поддержка по программированию на платформах Autodesk на русском языке.
Если у вас есть вопросы по программированию на платформах Autodesk, вы можете задать их на русскоязычном форуме технической поддержки.
ADN Open CIS
Сообщество программистов Autodesk в СНГ
Категории статей
Изучение Revit API
Чтобы научиться писать нечто больше, чем в первом макросе, вам непременно нужно разбираться в Revit API. Лучший способ это сделать – через файл справки по Revit API. Файл справки можно найти в папке с установленным Revit SDK. Откройте RevitAPI.chm и выберите вкладку Contents(Содержание). Вы увидите все пространства имен в Revit API.
Говоря простым языком, пространство имен (namespace) это всего лишь иерархический контейнер элементов внутри API. Хорошей аналогией является структура папок на вашем компьютере. Название каждой папки, находящейся на одном уровне иерархии должна иметь уникальное имя. Папки могут содержать файлы с таким же названием, как и папки, но путь к каждому файлу должен быть уникальным. Пространства имен работают по похожему принципу. Например, множество элементов имеют свойство Geometry, а пространство имен позволяет точно указать на то, какая же именно геометрия используется. Для работы с геометрией стены, нужно набрать Autodesk.Revit.DB.Wall.Geometry.
Чтобы получить больше информации о конкретном элементе внутри API, просто пройдитесь вниз по пространствам имен для поиска нужного элемента. Например, если я хочу изучить подробно свойства объекта Wall(Стена), я нажимаю Autodesk.Revit.DB Namespace > Wall Class > Wall Properties. В файле справке появятся в этом случае все свойства стены.
Но читать файл справки не очень легко. Нужно набраться опыта, так как он написан не на чистом английском (и тем более не а русском – прим. переводчика). Тем не менее именно здесь содержится подробное описание всех объектов Revit API. В файле также содержатся примеры кода, но это не учебник по программированию. Так же, как и дорожная карта не поможет вам научиться водить машину, так и файл справки по API не научит вас программировать, но он подскажет куда вам надо идти и что использовать.
Опубликовано 15.12.2015
Отредактировано 18.09.2017 в 08:40:11