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

29/09/2015

Создание крыши

Изначально вопрос бы задан на форуме Revit API и Stack Overflow:

Вопрос: У меня проблема с программным созданием крыши. Я знаю, как создавать лестницы, к примеру, используя CreateSketchedLanding с корректными параметрами. Но вот как воздать крышу с нуля, не пойму. Может кто-нибудь направить меня в нужное русло?

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

Чтение общей площади зоны здания и площади офисных зон

Небольшой пример того, как читать площадь зон, являющихся общей площадью здания и офисной зоной. Начнем с получение объектов класса Area (зона), используя FilteredElementCollector и фильтр SpatialElement. Затем, AreaScheme и, если требуется, ограничим по уровню, на котором располагается зона. В итоге отобразим общую площадь зон по зданию и площадь офисных зон.

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

Закрытие активного документа

На форуме один из пользователей говорит, что он хочет закрыть активный документ и заново его открыть.

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

О геометрии в Revit и грани цилиндров

Вопрос: При обходе по граням, представляющим границы цилиндра, я обнаружил, что цилиндр имеет 2 плоских грани (верх и низ цилиндра) и две цилиндрических грани (два полуцилиндра). Я проверил еще несколько различных закругленных поверхностей в Revit и заметил, что все они поделены на 2 или 4 полу- или четверть-цилиндра. Почему так?

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

Отмена ограничений для VendorId

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

Нахождение конечных точек оси цилиндрического твердого тела

В недавнем запросе от разработчика потребовалось найти конечные точки оси цилиндрического твердого тела. Для этого требуется найти круглые ребра тела и найти их центры. Я вспомнил про элегантный образец кода Gilles Chanteauна форуме, который использует Linq запрос к BRep API здесь. Мы немного изменим его код чтобы получить концы осей цилиндра. Вот немного модифицированный код и благодарности Gilles.
Опубликовано 22.09.2015     Читать далее >>>
21/09/2015

Синхронизация свойств Vault для эквивалентности свойств

Рассматриваются особенности метода GetComponentProperties в Vault 2016 API
Опубликовано 21.09.2015     Читать далее >>>
20/09/2015

Получение данных о семействе и типоразмере элемента трубопроводной сетиАвтор: Дмитрий Загорулькин

Иногда нужно получить данные о семействе и типоразмере трубы или колодца, которые уже присутствуют на чертеже. Например - чтобы создать такой же элемент в другом месте сети. Метод создания трубы или колодца в сети требует указания ObjectId для семейства и типоразмера (из справки):

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

Устанавливаем ортографический вид без изменения ПСК

Вот предыдущая статья с подобной темой об установке ортографического вида. В приведённом коде есть ограничение, связанное с тем что модифицируется активная запись таблицы ВЭкранов (ViewportTableRecord) и после изменения вида имя текущей ПСК не отображается в Видовом Кубе. Когда же мы меняем вид при помощи Видового Куба и переключаемся на Вид Сверху – это меняет только вид, но не меняет текущую ПСК. Также оси X и Y соответственно выравниваются горизонтально и вертикально. Вот код, который позволяет добиться подобного поведения при помощи API. Он устанавливает направление вида вдоль оси +Z и выравнивает оси X и Y так же, как это делает Видовой Куб:

Опубликовано 18.09.2015     Читать далее >>>
17/09/2015

Особенности, характерные для Python - Часть 3

Особенности, Fusion 360 API, характерные для Python
Опубликовано 17.09.2015     Читать далее >>>
16/09/2015

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

Иногда я получаю запросы от партнеров ADN о том что:

“После использования AcDb3dSolid::createRevolvedSolid() образующая кривая вращения видна в твердом теле.”

Профиль используемый для вращения виден в твёрдом теле как показано на картинке.

Он может быть удалён при помощи метода cleanBody класса AcDb3dSolid, который удаляет все грани и ребра, которые не нужны для поддержки топологии твердого тела.

Опубликовано 16.09.2015     Читать далее >>>
15/09/2015

Особенности, характерные для Python - Часть 2

Особенности, Fusion 360 API, характерные для Python
Опубликовано 15.09.2015     Читать далее >>>
15/09/2015

Регистрация команды для функции обратного вызова UnknownCommand

Этот пример отвечает на множество вопросов по поводу функции обратного вызова unknownCommand и использования UnknownCommand.

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

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

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

Создание новой ТП на трассе для трубопроводной сети в заданном пикетеАвтор: Дмитрий Загорулькин

С помощью инструментов пользовательского интерфейса редактирования трассы, мы легко можем добавить на нее точку пересечения (ТП). Однако в API Civil 3D 2013-2016 нет никакого готового метода, позволяющего выполнить то же самое программно. Мне же был крайне необходим такой метод для автоматизации работы с видами профилей трубопроводных сетей, поэтому пришлось разрабатывать его самостоятельно.
В общем случае, эта задача крайне непроста. Достаточно взглянуть на список возможных типов объектов, которые могут входить в состав трассы:

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

Устанавливаем текущий вид в ортографический вид

Ниже пример кода, устанавливающий текущий вид в вид "Справа". При помощи подобного кода вид может быть установлен в любой ортографический вид.
Опубликовано 12.09.2015     Читать далее >>>
11/09/2015

Как отобразить статус внешнего процесса в командной строке AutoCAD

Предположим, что у нас имеется .NET-команда, которая запускает внешний процесс, которому требуется много времени для выполнения. Пока мы ожидаем его завершения, мы можем вывести индикатор прогресса в командную строку.

Замечание: Следующая процедура доступна начиная с .NET 4.5, так как использует методы await и async.

Опубликовано 11.09.2015     Читать далее >>>
10/09/2015

Особенности, характерные для Python - Часть 1

Особенности, Fusion 360 API, характерные для Python
Опубликовано 10.09.2015     Читать далее >>>
09/09/2015

Получение перечня системных переменных AutoCAD

Понадобилось тут посмотреть, какие вообще есть системные переменные в AutoCAD.
Опубликовано 09.09.2015     Читать далее >>>
08/09/2015

Понимание единиц измерения в Fusion 360 - Часть 2

Рассматриваются единицы измерения в Fusion 360
Опубликовано 08.09.2015     Читать далее >>>
08/09/2015

Устанавливаем переопределение цвета слоя для ВЭкрана используя AccoreConsole

Этот пример кода устанавливает переопределение для цвета слоя для всех ВЭкранов во всех листах чертежа. Можно использовать AccoreConsole для автоматизации этого переопределения в случае если эту операцию нужно повторить для множества чертежей в каталоге. Вот скрипт AutoCAD и пользовательская команда для переопределения слоя "Слой1" :
Опубликовано 08.09.2015     Читать далее >>>