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

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