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

11/03/2015

Автозагрузчик (Autoloader) - интеграция клавиши помощи F1

Следующая возможность автозагрузчика была представлена в AutoCAD 2013 – простой способ соединения команды и вашего файла помощи. Я занялся адаптацией под AutoCAD 2013 моего плагина DimensionPatrol который размещен в Магазине Приложений Autodesk. (Вы можете его скачать и изучить работающий пример).

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

Пример использования метода PostRequestForElementTypePlacement

Метод NewFamilyInstance предоставляет возможность программно создать новый экземпляр семейства в проекте или вложенный экземпляр семейства в редакторе семейств.

Но он совсем не поддерживает какие-либо взаимодействие с пользователем.

Небольшое взаимодействие с пользователем появилось в методе PromptForFamilyInstancePlacement, который был представлен в Revit 2011 API.

По крайней мере он показывает пред просмотр экземпляра семейства и предлагает пользователю выбрать месторасположение экземпляра.

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

Разрешаем использование глобальных имён команд в AutoCAD с помощью .NET

Идея заключается в том, чтобы позволить использование вводить английские имена команд без необходимости использовать подчеркивание. В коде определяется что команда неизвестна (“unknown”) и выполняется попытка выполнить её повторно с префиксом подчеркивания для запуска глобальной команды. Это конечно может сработать или не сработать и чтобы предотвратить бесконечный цикл необходимо установить флаг установки подчеркивания.

Кроме того нам придётся отключить автокоррекцию и автозавершение команд для того чтобы наш код работал корректно. Так как нет специальных системных переменных то это придётся сделать при помощи команды.

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

Открытие файла проекта в событиях Revit API

Вопрос: Довольно понятная и четкая ошибка возникает при попытке выполнить метод Application.OpenandActivateDocument() дважды (т.е. пока нет активных документов, метод работает).

Я пробую выполнить этот метод в обработчике события Idling. Я думал я могу выполнять открытие документа в обработчике события.

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

Определение типа поверхности под выбранной точкой

Вопрос: Я пишу надстройку для Revit 2015 где мне нужно вставить семейство в проект.

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

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

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

В AutoCAD 2015 появилось новое API - AcEdSysVarIterator.

Класс “AcEdSysVarIterator” обеспечивает возможность пройтись по всем доступным системным переменным и получить их имена, типы данных, диапазоны (если доступны), значение «только для чтения» и где они хранятся.

Внимание: системные переменные, которые имеют флаг скрытости (т.е. "*" в качестве первого символа в имени) пропускаются этим итератором. В настоящее время мы можем получить всю информацию при помощи утилиты "SYSVDLG", включая скрытые системные переменные. Это API может пригодиться тем, кто хочет автоматизировать работу с системными переменными в клиентском приложении.

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

Получение упорядоченного набора ребер граней с использованием BRep

При перемещении по ребрам граней с использованием BRep API, ребра могут быть не упорядочены так, чтобы конечная точка предыдущего ребра совпадала с начальной точкой следующего ребра. Это происходит потому, что ребра разделяются между несколькими гранями, и это же ребро возвращается, когда мы снова проходим по другой грани. Так как начальные и конечные точки ребра остаются неизменными, то это будет признаком ориентации одной из граней.

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

Еще один способ обновить cвойства

Обновление свойств в файлов при помощи новых API функций Vault 2015 R2
Опубликовано 27.02.2015     Читать далее >>>
25/02/2015

Как добавить связь с файлом Revit

В Revit можно создать связь с другим файлом Revit в помощью команды Вставка > Связать с Revit.

 

А как можно сделать то же самое, но используя API?

Опубликовано 25.02.2015     Читать далее >>>
24/02/2015

Как программно извлечь список горячих клавиш

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

Опубликовано 24.02.2015     Читать далее >>>
24/02/2015

Получение значений свойств из COM-обертки примитива

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

Если вы используете .NET-языки, то можно воспользоваться «отражением». Вот эта статья может помочь:

Получение свойств и методов класса ActiveX/COM из .NET

Если вы используете C++ вы можете таким образом изменить пример DumpDwg из RealDWG SDK. В этом примере мы получаем свойства примитива, используя интерфейс IDispatch его COM-обертки. Например, если чертеж содержит примитив "AsdkPoly" из примера "ObjectARX 2015\samples\entity\polysampPolySamp".

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

Как получить параметры доступные для использования фильтрации спецификации

В Revit мы можем создать спецификацию с определенным фильтром. Таким образом, только элементы, удовлетворяющие фильтру, будут выведены в спецификации. Например, мы можем выбрать элементы, находящиеся только на уровне 1.

Есть ли какой-либо способ, получить все параметры, по которым можно отфильтровать для заданной категории?

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

Пример использования групп транзакций

Вопрос: Я создаю приложение, в котором мне нужно:

  1. Загрузить семейство из файла
  2. Получить объект FamilyManager из редактора семейств и получить доступ к некоторым параметрам.
  3. Поместить экземпляр семейства в проект.

Загрузка семейства в проект, осуществляется в транзакции.  Затем, чтобы открыть редактор семейств, транзакция должна быть закрыта. А для размещения экземпляра изменённого семейства в проект, транзакция снова должна быть открыта.

По этой причине Revit создает два состояния, которые можно отменить с помощью операция «Отмена» - одно для каждой транзакции.

Если ли способ объединить две транзакции в одну, таким образом, чтобы была лишь одна операции отмены?

Я использую TransactionMode.Manual.

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

Автозагрузка проекта при запуске Revit

Вопрос: Мне интересно, как можно загрузить файл автоматически при загрузке Revit.

Класс UIControlledApplication является единственным параметром метода OnStartup класса, реализующего интерфейс IExternalApplication. А метод OpenAndActivateDocument есть только в классе UIApplication.

Как же вызвать метод UIApplication.OpenAndActivateDocument из метода OnStartup? Или может как-то можно решить эту проблему по-другому?

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

Изменение жизненных циклов элементов

Описание логики работы нового механизма жизненных циклов элементов в Vault 2015 R2
Опубликовано 21.02.2015     Читать далее >>>
20/02/2015

Используем геолокацию с помощью ObjectARX

Это пример кода работы с геолокацией в чертеже AutoCAD. Если вы ищете пример кода на .NET, тогда посмотрите эту статью.

Чтобы попробовать этот код, вы должны быть подписаны на использование Autodesk 360 внутри AutoCAD.

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

Как защитить интеллектуальную собственность моего приложения на Autodesk Exchange - часть 3Автор: Daniel Du

Рассматриваются особенности лицензирования веб-служб, опубликованных в Autodesk Apps Exchange
Опубликовано 18.02.2015     Читать далее >>>
17/02/2015

Создайте свой собственный Design Copy для Autodesk VaultАвтор: Doug Redmond

Описание логики работы Copy Design в Vault 2015 R2
Опубликовано 17.02.2015     Читать далее >>>
17/02/2015

ObjectData AutoCAD Map 3D как простейшая альтернатива для создания цифровых картАвтор: Александр Шаров

О содержании: Object Data AutoCAD Map 3D — близкий к оптимальному способ описания дополнительных данных при графических элементах, который при достаточном оснащении соответствующими инструментами может превратить AutoCAD Map 3D в одно из наиболее эффективных ПО для цифрового картографирования.
Опубликовано 17.02.2015     Читать далее >>>