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

25/08/2015

Доступ к IfcGUID импортированной стены

Вопрос: У меня есть стена, которая в IFC файле задана с идентификатором ‘3lDzp1LFjDqwXDAihsyNrA’ и выглядит примерно так:

Код: [Выделить]
  #615 = IFCWALLSTANDARDCASE( '3lDzp1LFjDqwXDAihsyNrA',

    #42, '\X2\6A196E9658C1\X0\:(P)PC200:1185289', $,

    '\X2\6A196E9658C1\X0\:(P)PC200:794115',

    #587, #613, '1185289' );

Как можно получить IFC GUID '3lDzp1LFjDqwXDAihsyNrA' для этой стены в модели Revit?

Опубликовано 25.08.2015     Читать далее >>>
29/07/2015

Чтение доступных методов определения потерь

Недавно мы рассматривали, как можно получить данные таблицы ASHRE. Эта информация хранится в Расширяемой области хранения и связана с элементом параметром  RBS_DUCT_FITTING_LOSS_METHOD_SERVER_PARAM в виде GUID значения.

А как мы можем получить список всех доступных методов определения потерь?

 

Опубликовано 29.07.2015     Читать далее >>>
21/07/2015

Исключение при вызове метода NewExtrusion - один из параметров не удовлетворяет требованиям

Иногда, при вызове метода Document.FamilyCreate.NewExtrusion возникает исключение:  Autodesk.Revit.Exceptions.ArgumentException - один из параметров не удовлетворяет требованиям.

Опубликовано 21.07.2015     Читать далее >>>
27/06/2015

Чтение таблицы ASHRE

В Revit MEP мы можем получить Настройки метода определения потерь в виде ASHRE таблицы. Но, проблема в том, что эта таблица не доступна напрямую, так как она не прикреплена к элементу. Вопрос в том, как получить доступ к информации, предоставленной ниже на скриншоте:

 

Опубликовано 27.06.2015     Читать далее >>>
26/06/2015

Отсутствие PipeScheduleType в файле шаблона rte

Я столкнулся со странной проблемой в Revit 2015. В файле проекта, созданного с помощью шаблона, присланного от клиента, полностью отсутствуют PipeScheduleType (Спецификация/Тип). Я имею ввиду, что свойство  PipeType.Class всегда равно null, даже если в документе определены сегменты труб.

 

Опубликовано 26.06.2015     Читать далее >>>
23/06/2015

Использование метода Transform.CreateRotationAtPoint

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

Опубликовано 23.06.2015     Читать далее >>>
19/06/2015

Обновление утилиты для создания кнопок на лентеАвтор: Виктор Чекалин

В прошлом году я писал об утилите, с помощью которое процесс создания кнопок на ленте для вызова команд гораздо упрощается.

Сегодня я добавил в нее несколько полезных дополнений.

Опубликовано 19.06.2015     Читать далее >>>
12/06/2015

Как определить есть ли активная транзакция

Вопрос: Есть ли какой-нибудь способ определить, существует ли в текущий момент активная транзакция или нет?

Опубликовано 12.06.2015     Читать далее >>>
11/06/2015

Создание особенного воздуховода или трубы

Вопрос: Я только недавно начал работать с Revit API и у меня возник вопрос. Могу ли я создать обычную трубу или воздуховод, но с использованием фитинга как обязательной частью трубы или воздуховода?

Ни одна из существующих фитингов труб или воздуховодов не подходит для моих целей.

Опубликовано 11.06.2015     Читать далее >>>
08/06/2015

Митап Autodesk: Королевство BIM: где развернуться разработчику?

Открылась регистрация на очередную неформальную встречу (митап), которая будет проходить в московском офисе Autodesk, 8 июня 2015 г., с 19.00 до 21.00
Опубликовано 08.06.2015     Читать далее >>>
05/06/2015

Ошибка при создании сплайна

Я работаю над надстройкой для Revit, где в частности есть перенос кривых из Rhino в Revit для создания балок.

Код работает замечательно, когда количество контрольных точек кривой больше или равно 4. Но если их три, то возникает ошибка.

Опубликовано 05.06.2015     Читать далее >>>
27/05/2015

Клонирование твердотельного объекта

Вопрос: Для клонирования твердотельных объектов мы использовали вот такой трюк:

Код - C#: [Выделить]
  static public Solid Clone( this Solid solid )

  {

    if( solid == null )

    {

      return null;

    }

    return BooleanOperationsUtils

      .ExecuteBooleanOperation( solid, solid,

        BooleanOperationsType.Union );

  }

С помощью этого метода мы копировали твердотельный объект и в дальнейшем использовали его для создания или редактирования объекта DirectShape. Этот способ работает замечательно в большинстве случаев. Однако на некоторых объектах DirectShape возникает исключение:

23/05/2015

Изоляция экземпляров семейства для дальнейшего экспорта в DWG

Проблема следующая: нужно взять оборудование, представленное в виде семейств категории Типовые модели на 3D виде и для каждого оборудования создать отдельный вид для дальнейшего экспорта в DWG.

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

Опубликовано 23.05.2015     Читать далее >>>
22/05/2015

Список всех импортированных САПР файлов

Вы когда-нибудь беспокоились о том, есть ли у вас дубликаты импортов из САПР форматов?

Мой коллега Николай Шульга (Nikolay Shulga) из команды разработчиков Revit реализовал маленькую полезную утилиту для ответа на этот вопрос.

Вот что он пишет:

Когда-то я написал прототип приложения для вывода всех импортированных объектов в проект Revit. Идея состояла в том, чтобы вывести дублирующийся экземпляры. Люди часто импортируют одни и те же данные несколько раз.

Опубликовано 22.05.2015     Читать далее >>>
18/05/2015

Метод CopyElements и параметр View

Параметр View при использовании метода CopyElements, нужно использовать только в случае, если вы работает с элементами, зависимыми от конкретного вида, т.е. 2D элементами.

Это отметил Arnošt Löbel на форуме по Revit API в теме ElementTransformUtils.CopyElements из связанного документа.

Опубликовано 18.05.2015     Читать далее >>>
16/05/2015

Метод ScheduleDefinition.GetSchedulableFields возвращает больше полей чем в интерфейсе

Когда мы создаем спецификацию в Revit, то мы можем выбирать поля:

 

Соответствующий способ получить эти поля при помощи Revit API – это использование метода ViewSchedule.ScheduleDefinition.GetSchedulableFields(). Но по каким-то причинам он возвращает больше полей, чем мы видим в интерфейсе. Что за невидимые поля?

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

Еще раз о списке элементов инженерной системыАвтор: Виктор Чекалин

Еще раз о списке элементов инженерной системы

Я уже писал о том, как можно получить список элементов инженерной системы, а также об улучшении алгоритма.

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

Опубликовано 14.05.2015     Читать далее >>>
08/05/2015

Переключение между вариантами конструкции с помощью UI Automation

Рассмотрим приложение, демонстрирующее функциональность по определению, перечислению и установки варианта конструкции с помощью самостоятельного отдельного приложения.

Приложение было создано пользователем Revitalizer. Вот его комментарии:

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

Улучшение алгоритма по вычислению общей и полезной площади стен

Продолжаем обсуждать решение проблемы по вычислению общей и полезной площади стен. После того, как мы немного переделали алгоритм и стали использовать метод FindInserts для поиска всех проемов, пользователь Håkon Clausen нашел пару недочетов в этом алгоритме и оставил их в комментарии (ориг.):

Опубликовано 26.04.2015     Читать далее >>>