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

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     Читать далее >>>
06/09/2015

Запуск команды ССЫЛРЕД (REFEDIT) с выбранным примитивом средствами .NET

Действительно интересная проблема возникла в ходе внутренней дискуссии на этой неделе: кому-то понадобилось запустить команду REFEDIT для выбранной внешней ссылки с предварительно выбранным примитивом. И этот примитив должен быть частью выбранной внешней ссылки.

Это оказалось весьма непростым делом, но мы нашли способ, решающий её в несколько строк кода. Хитростью было найти правильный примитив в наборе и соответствующий ему примитив во внешней ссылке.

Вот подход, который я в конечном итоге использовал:

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

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

Используя эту простую заготовку переопределения, мы можем изменить отображение трубы или колодца на виде профиля. Нам нужно переопределить класс ProfileViewPart и добавить немного геометрии. Это простой пример:

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

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

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