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

15/05/2014

Идентификаторы элементов в Revit. Часть 2

Продолжаем серию статей об идентификаторах в Revit

Часть 1: Уникальный идентификатор (UniqueId) или числовой (Element.Id)

Уникальность уникального идентификатора UniqueId

Опубликовано 15.05.2014     Читать далее >>>
14/05/2014

Идентификаторы элементов в Revit. Часть 1

Начнем небольшую серия статей о различных идентификаторах элемента, существующих в Revit.

Некоторый из идентификаторов существуют уже давным-давно, некоторые же появились относительно недавно.

Опубликовано 14.05.2014     Читать далее >>>
12/05/2014

Определение размера и месторасположения видов на листе

Рассмотрим, как можно определить размер и месторасположение листа и всех видов на нем.

В предыдущих версиях Revit сделать это было довольно проблематично.

Вот несколько статей на эту тему:

Опубликовано 12.05.2014     Читать далее >>>
30/04/2014

Определение категорий, поддерживающих привязку параметра типа или экземпляра

Вопрос: Я могу получить список категорий, поддерживающих привязку общих параметров, например, с помощью такого кода:

Код - C#: [Выделить]
  SortedList<string, Category> CatList

    = new SortedList<string, Category>();

 

  Categories cats = doc.Settings.Categories;

 

  foreach( Category cat in cats )

  {

    if( cat.AllowsBoundParameters )

    {

      CatList.Add( cat.Name, cat );

    }

  }  

Но как мне из этого списка понять, поддерживает ли категория привязку параметра типа или экземпляра?

Опубликовано 30.04.2014     Читать далее >>>
26/04/2014

Revit 2015 и обновленный SDK

Совсем недавно (11 апреля) был выпущен новый релиз Revit 2015. Скачать новую версию можно на странице Autodesk Revit (на англ.). Русcкая версия пока не доступна.

Опубликовано 26.04.2014     Читать далее >>>
26/04/2014

Новости Revit API 2015 - Материалы DevDays

Опубликовано 26.04.2014     Читать далее >>>
24/04/2014

Использование метода NewTakeOffFitting для создания врезки

Вопрос: В середине одного из воздуховодов моей MEP модели я хочу сделать врезку. В API для этого есть метод NewTakeOffFitting, который принимает 2 аргумента: коннектор и MEP-кривую (трубу, воздуховод, кабельные лотки) и возвращает созданный экземпляр семейства. Вопрос состоит в том, что я не пойму, как создать эту кривую и коннектор. Можете привести пример кода по созданию врезки с использованием этого метода? Спасибо

Опубликовано 24.04.2014     Читать далее >>>
14/04/2014

WPF Control для отображения штриховки поверхностей

Как-то я создавал контрол для отображения штриховки поверхностей и уже давным-давно забыл про него. Однако, мой бывший коллега, Александр Игнатович, поделился моими наработками с Джереми.

Опубликовано 14.04.2014     Читать далее >>>
14/04/2014

Добавление материалов из списка

Еще в далеком 2011 году мы обсуждали как импортировать материалы из файла Excel в Revit.

Входные данные хранились в файле Excel и содержали следующие параметры:

Наименование

  • Код
  • Название
  • Сила

Графика

  • Цвет в RGB
  • Прозрачность
  • Штриховка разреза
  • Штриховка поверхности

Идентификация

  • Класс
  • Информация о продукте
  • Пользовательские параметры
Опубликовано 14.04.2014     Читать далее >>>
13/04/2014

Создание наклонного перекрытия

Опубликовано 13.04.2014     Читать далее >>>
08/04/2014

BindingMap в редакторе семейства

Вопрос: В своей надстройке я добавляю общий параметр в семейство, находясь в редакторе семейств. Все работало замечательно, начиная с версии 2009. Но в Revit 2014 версии метод создания параметра падает с исключением: «Невозможно получить свойство BindingMap в редакторе семейств» (Cannot get BindingMap of a family document.)

Как оказалось, исключение происходит при попытке воспользоваться свойством Document.ParameterBindings.

Опубликовано 08.04.2014     Читать далее >>>
31/03/2014

Использование типизированных коллекций в фильтрах и формах

В сегодняшней теме обсудим использование типизированных коллекций для легкой и эффективной работы со списками элементов Revit в Windows Forms, а именно:

  • Извлечение всех печатных видов плана этажей из модели с помощью всего одной строчки кода
  • Извлечение всех выбранных видов плана этажей из списка на форме с помощью одной строки кода
Опубликовано 31.03.2014     Читать далее >>>
24/03/2014

Хранение пользовательских настроек плагина для Revit

Вопрос: Я ищу подходящий способ как сохранить пользовательские настройки для моего плагина.

В моем случае мне нужно сохранить пути к файлам, настройки импорта и т.п., чтобы при следующем запуске плагина, все данные, введённые пользователем ранее, оставались такими же, без необходимости забивать их заново.

Есть какая-нибудь инструкция, или может быть в Revit API существует подобная функциональность?

Опубликовано 24.03.2014     Читать далее >>>
23/03/2014

Использование всплывающих подсказок в надстройке Revit

Вопрос: Кто-нибудь знает можно ли использовать строку состояния для отображения своих собственных сообщений в любой момент? И если можно, то как?

Когда пользователю предлагается выбрать элементы или некую область, то строку состояния можно довольно легко задействовать:

Опубликовано 23.03.2014     Читать далее >>>
15/03/2014

Отсоединение балки от плоскости

Вопрос: В пользовательском интерфейсе с помощью контекстного меню балки есть команда «Отсоединить от плоскости». А как можно сделать то же самое, только программно?

После того, как я нажал правую кнопку на балке и выбрал «Отсоединить от плоскости», Revit удаляет параметр Рабочая плоскость, т.е. встроенный параметр BuiltInParameter.SKETCH_PLANE_PARAM, и делает активным параметр Базовый уровень, который до этого был только для чтения. Хотелось бы проделать эти действия с помощью Revit API.

Я попробовал удалить параметр Рабочая плоскость, но это не помогло. Свойство FamilyInstance.Host также является только для чтения, поэтому с помощью него не получится отсоединить балку от рабочей плоскости.

Есть ли способ отсоединить балку от плоскости программно?

Опубликовано 15.03.2014     Читать далее >>>
10/03/2014

Наименование системных семействАвтор: Виктор Чекалин

В Revit существует 2 типа семейств: пользовательские семейства и системные семейства. Пользовательские семейства в большинстве случаев являются редактируемыми и их можно сохранить в отдельный файл семейства (.rfa). С системными же семействами такое проделать не получится. Можно лишь создавать новые типоразмеры системных семейств.

Опубликовано 10.03.2014     Читать далее >>>
09/03/2014

RevitLookup. Исследуем базу данных RevitАвтор: Виктор Чекалин

В статьях я часто упоминаю о довольно полезной утилите – RevitLookup.

Данная утилита позволяет нам взглянуть на внутреннюю базу данных Revit прямо из пользовательского интерфейса без необходимости писать тестовые надстройки, в которых будем проверять значение каких-либо свойств элемента.

С помощью утилиты мы можем просмотреть:

  • Абсолютно все элементы, которые существуют в базе данных текущего проекта, включая те, которые пользователь никогда не увидит.
  • Значения всех свойств класса элемента.
  • Свойства приложения и открытых документов
  • Распечатать свойства элемента на принтере
Опубликовано 09.03.2014     Читать далее >>>