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

01/09/2015

Состояние объекта - Свойство проекта

Рассматриваются свойства объекта проекта в PLM 360
Опубликовано 01.09.2015     Читать далее >>>
31/08/2015

Получить элементы сборки

Вопрос: Как получить все элементы, являющиеся частью сборки?

Ответ: Как вы уже наверно попробовали, RevitLookup не отображает какой-либо полезной информации о выбранной сборки.

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

Создание поверхности в Revit

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

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

Сводная информация о контексте Revit API

Вопрос: Не разрешается запустить новую транзакцию при вызове из внешнего приложения и запущенного вне контекста Revit API. Как быть?

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

Реагирование на двойной щелчок мыши в Revit

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

 

Есть ли в Revit API соответствующие методы, для реализации задуманного?

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

Части трубопроводной сети (трубы и колодцы) на виде профиля

На виде профиля, после добавления на него части трубопроводной сети (колодца или трубы), Civil 3D создает новый объект: ProfileViewPart. У этого объекта не много методов, но зато он является объектом базы данных чертежа (с ID и геометрией).
Итак, вопрос: как получить пикетаж и отметку части на виде профиля?
Используя габаритный контейнер части, мы можем получить доступ к координатам XY в модели. Тогда возможно получить среднюю точку (или какую-нибудь другую точку, например с максимальной и минимальной координатой Y). Используя эти координаты XY, мы можем вернуться обратно на вид профиля и запросить пикетаж и отметку для этой точки.
Пример кода ниже демонстрирует эту идею:

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

InvalidOperationException при использовании метода FamilyManager.Set

Вопрос: Не могли бы вы подтвердить, что действительно невозможно установить значение параметра семейства, если не задан активный типоразмер?

 

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

Проблема при использовании ElementIntersectsSolidFilter

Вопрос: У меня проблема с использованием ElementIntersectsSolidFilter. Результат получается совсем не тот, который я ожидаю увидеть.

Мне нужно определить, лежит ли заданная точка на любой части стены и получить список таких стен. Допустимая погрешность – 100 мм. Т.е. если точка находится на расстоянии 100 мм от стены, считаем, что точка лежит на стене.

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

Это экземпляр приложения Civil 3D?Автор: Дмитрий Загорулькин

Это .NET версия кода, размещенная моим коллегой (оригинал тут), переработанная под Civil 3D.

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

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

Использование ReferenceIntersector со связанными файлами

Вопрос: Согласно документации к API, а также предварительного тестирования, ReferenceIntersector не находит пересечения с элементами в связанных файлах в Revit 2015.

Например, мы не сможем найти, что кабельный канал пересекает стену.

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

Очистка словарных записей в файле dwg

Достаточно давно на работе я столкнулся с необходимостью очистки файла dwg от словарных записей. Основная работа выполняется в AutoCAD2009x64, и, казалось бы, ничего сложного быть не должно.
Опубликовано 26.08.2015     Читать далее >>>
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     Читать далее >>>
25/08/2015

Получение списка видимых примитивов в динамическом блоке

Членом ADN был задан следующий вопрос:

Как можно получить список видимых примитивов для конкретного состояния видимости динамического блока, содержащего параметр видимости?

Решение основывается на предложении Тони Танзилло из этого сообщения на форуме.

Решение:

К сожалению API динамических блоков ограничено и нет прямого пути для получения этой информации. Эта информация в словаре расширения динамического блока и требуется смотреть на свойства экземпляра класса "AcDbBlockVisibilityParameter" (это родной класс ObjectARX, но он недоступен через публичные API ни в C++, ни в .NET).

Так что требуется несколько больше работы для получения этой информации. Вот несколько шагов:

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

Как сохранить идентификатор объекта в словаре расширения другого объекта?

Следующий код показывает как это сделать. Обратите внимание, что необходимо преобразовать ObjectId в ads_name для сохранения результата в Xrecord, и наоборот для получения ObjectId из буфера результата Xrecord. Также отметьте, что необходимо передать ссылку на первый элемент цепочки буферов методу setFromRbChain() вместо указателя на resbuf.

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

Добавление словаря расширения

Для каждого объекта AutoCAD можно сохранить его пользовательские данные. Обычно это делается для графических примитивов, когда для них сохраняется неграфическая информация. Например, для отрезка AutoCAD можно сохранить строку и/или число (в его словаре расширения). Следующий код показывает как можно добавить в словарь расширения плавающее число и строку.
Опубликовано 19.08.2015     Читать далее >>>
19/08/2015

Объект Security в PLM 360

Рассматриваются особенности обекта Security в PLM 360
Опубликовано 19.08.2015     Читать далее >>>
17/08/2015

Состояние объекта - Свойство Master

Рассматриваются свойства объекта Master в PLM 360
Опубликовано 17.08.2015     Читать далее >>>
14/08/2015

Добавление нового положения файла при помощи Sheetset API

Вот кусок кода, добавляющий новое положение файла и устанавливает новое положение листа при помощи Sheetset API :
Опубликовано 14.08.2015     Читать далее >>>
13/08/2015

Реакторы внешних ссылок

На работе понадобилось "причесать" стандартный механизм обработки внешних ссылок, используемый в AutoCAD. VISRETAIN (о которой недавно была статья) установлена равной 1. Файл подосновы вставляется как вставленная ссылка в файл основных решений. В файле основных решений выключаются и/или замораживаются некоторые слои. Файл, естественно, сохраняется. Потом файл основных решений используется как внешняя ссылка в текущей работе. И вот тут вылезает очень интересная штука: при вставке "основных решений" состояние слоев "подосновы" не подхватывается и берется именно в том виде, в каком оно есть в исходном файле ("подосновы"). Оставлю за скобками правильность такого решения Autodesk, равно как и требования пользователей "брать то состояние слоев, которое есть в файле основных решений" - надо сделать так, чтобы читалось. Понятно, что надо обрабатывать в реакторах. Вот об этом и расскажу.
Опубликовано 13.08.2015     Читать далее >>>
13/08/2015

Твердые тела и поверхности Fusion - Часть 3

Рассматриваются особенности топологии Fusion 360
Опубликовано 13.08.2015     Читать далее >>>