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

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

Установка данных геолокации в чертеже AutoCAD с использованием .NET

API геолокации AutoCAD - это очень актуальная и перспективная тема, которую пришло время обсудить. Итак начнем. :-)

Ниже пример кода на основе показанной на ADN DevDays в конце 2013 года - для AutoCAD версии 2014, - но тогда API оказалась не полностью реализованным (по крайней мере, насколько я помню – если я не прав, то поправьте меня) до версии 2015.

Я воспользовался возможностью для того, чтобы использовать Editor.Command (), чтобы вызвать пару команд синхронно - для включения информации Geomap и для зумирования до окружности, которую мы создаем вокруг нашего места – теперь этот API доступен.

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

Подключить или отключить сетевой диск через LISP

Понадобилось тут мне поиграться с подключениями и отключениями сетевых дисков через LISP. Самое простое решение - использовать shell и стандартную команду Windows "net use ..." не подходило по нескольким причинам
Опубликовано 16.02.2015     Читать далее >>>
15/02/2015

Сортировка и расположение кривых для создания замкнутого контура

Мне нужно определить полигон, определяющий границу мебели и оборудования для манипуляций с ним на мобильном устройстве.

Для отображения полигона с помощью SVG в браузере мобильного устройства мне определенно необходим набор последовательных кривых, образующих замкнутый контур.

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

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

Прерывание вставки экземпляра семейства

Вопрос: В некоторых случаях нам нужно ограничить вставку семейства при использовании метода PromptForFamilyInstancePlacement() и разершить пользователю вставить только одно семейство.

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

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

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

Создание DWF-подложки в AutoCAD лиспом

Понадобилось мне тут вставить несколько dwf (или dwfx, не столь суть важно) в текущий документ dwg. Естественно, что захотелось мне задачку решить лиспом, да без применения команд типа _.dwfattach.
Опубликовано 13.02.2015     Читать далее >>>
13/02/2015

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

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

Модификация Ленты

Вопрос:

Я хочу изменить содержимое Ленты (Ribbon) – добавлять/удалять панели, и т.д.. Как это можно сделать?

Ответ:

Это доступно только при помощи AutoCAD .NET API.

Есть два набора функций:

1) RibbonRuntimeAPI – содержащееся в AdWindows.dll в пространстве имён Autodesk.Windows

Позволяет модифицировать Ленту, но изменения не будут сохраняться в CUIx файл, так что при перезапуске AutoCAD, или даже при переключении рабочего пространства (системной переменной WSCURRENT) или при перезагрузке меню все сделанные вами изменения пропадут и вам понадобится всё повторять.

Опубликовано 13.02.2015     Читать далее >>>