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

31/10/2015

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

Отладка сценария или надстроек на Mac
Опубликовано 31.10.2015     Читать далее >>>
31/10/2015

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

Отладка сценариев или надстроек Windows
Опубликовано 31.10.2015     Читать далее >>>
30/10/2015

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

Файлы заголовков, итерации, равенства объектов, вспомогательные функции
Опубликовано 30.10.2015     Читать далее >>>
30/10/2015

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

Типы объектов и приведение типов, события
Опубликовано 30.10.2015     Читать далее >>>
29/10/2015

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

Специфические для ОС особенности, объявление объекта, обработка ошибок, свойства
Опубликовано 29.10.2015     Читать далее >>>
28/10/2015

Параметры типа для системных семейств

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

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

Создание рабочего набора

Вопрос: Я разрабатываю надстройку для Revit. Мое приложение создает документ в заданной директории по моему шаблону. Мне нужно создать новый проект с рабочим набором. В интерфейсе приложения пользователь должен выбрать специальность, путь для сохранения файла, название рабочего набора и нажать кнопочку «Создать файл». Приложение должно создать проект с рабочими наборами. Это возможно? Как это сделать? Спасибо.

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

Установка и очистка признака модификации документа в .NETАвтор: Александр Ривилис

Установка и очистка признака модификации документа в .NET

Для установки и очистки признака модифицированности документа можно воспользоваться недокументированной функцией acdbSetDbMod, которая экспортируется из acdbNN.dll, где NN зависит от версии AutoCAD. Пример использования этой функции:

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

Редактирование связанного файла

Вопрос: В своем коде я пытаюсь создать пространство внутри связанной модели. Но, получаю ошибку при вызове метода NewSpace:

 

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

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

Преобразование координат листа в координаты модели

Вопрос: Вы отмечали, что в Revit API есть пробел, связанный с конвертацией между координатами модели и координатами листа. Это как раз то, с чем мы столкнулись.

Нам нужно получить границы геометрии элемента на листе.

В Revit 2016 этот пробел все еще существует? Есть ли какой-то способ обойти это ограничение?

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

Обновление Палитры Внешних ссылок при помощи Microsoft UI Automation

В этой статье мы рассмотрим процедуру обновления Палитры Внешних Ссылок AutoCAD. Прежде, чем мы углубимся в детали, вот некоторая справочная информация о том, почему может потребоваться обновлять эту палитру.

Палитра внешних ссылок AutoCAD превращается в расширенное стандартное окно (ESW) в том случае если установлен плагин Vault для AutoCAD. Поскольку статус возврата / получения файлов отображаются в Палитре Внешних Ссылок, необходимо обновление палитры для отображения текущего состояния в том случае, когда статус изменён извне при помощи клиента Vault.

В силу того, что нет никакого публичного API для этого, мы рассмотрим использование Microsoft UI Automation для имитации нажатия кнопки Обновить. Пожалуйста, обратите внимание, что подход, предложенный здесь не поддерживается Autodesk, а опирается на Win32 и UI Automation API. Если вы будете использовать этот подход, пожалуйста, проверить его более детально в своем приложении.

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

Как объединить отрезки и дуги в полилинию?Автор: Александр Ривилис

Эта статья навеяна темой на форуме Полилинии и дуги в одну полилинию

Начиная с AutoCAD 2011 для этой цели можно воспользоваться методами Entity.JoinEntity и Entity.JoinEntities из AutoCAD .NET API, а также AcDbJoinEntityPE::joinEntity и AcDbJoinEntityPE::joinEntities из ObjectARX. Интереснее показать как можно это реализовать самостоятельно в .NET и в ObjectARX:

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

Модифицируем Ассоциативный массив по траектории при помощи API

В этой статье мы рассмотрим как можно модифицировать ассоциативный массив по траектории при помощи API. Массив по траектории может зависеть или от расстояния между элементами или между количеством элементов в зависимости от свойств массива. Следующий образец кода уменьшает количество элементов или увеличивает расстояние между элементами для уменьшения количества элементов вдоль пути.

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

Создание прямоугольного облака (RevCloud) при помощи acedCommandS

Когда выполняется команда Облако (_RevCloud) из скрипта или при помощи функции acedCommandS (command или command-s в Lisp), опции в командной строке не соответствуют опциям в командной строке при запуске команды Облако из пользовательского интерфейса AutoCAD. Например, не появляется опция установки типа облака, когда запускается при помощи acedCommandS.

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

Закрепление панелей инструментов в рядах с использованием CUI API

Создание и закрепление панелей в AutoCAD API представлено в COM API. Хотя панели можно закреплять при помощи COM API, в нём нет возможности организовывать панели в несколько рядов. Сам AutoCAD использует внутри себя метод закрепления панелей в рядах, который не представлен в COM API.

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

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

Не могу удалить обработчик события в .NET

Когда моё .NET-приложение загружается, оно подписывается на событие DocumentToBeDestroyed и нормально работает.

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

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

Создание семейства в памяти

Вопрос: Когда создается новое семейство, то ему автоматически присваивается имя, которое можно увидеть в заголовке. Возможно ли изменить это имя и заголовок без сохранения файла? Я не хочу сохранять фал. Я просто хочу загрузить его сразу в другую модель.

 

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

Объединение геометрии стен и колонн

Я пытался найти в блоге пример использования объединения геометрии, но так и не смог. Собственно, вот он.

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

Перечисление элементов

Очень много людей используют FilteredElementCollector, например, вот так:

Код - C#: [Выделить]
  FilteredElementCollector collector

    = new FilteredElementCollector( doc );

 

  collector.OfClass( typeof( Family ) ).ToElements();

 

  IEnumerable<Family> nestedFamilies

    = collector.ToElements().Cast<Family>();

 

  String str = "";

 

  foreach( Family f in nestedFamilies )

  {

    str = str + f.Name + "\n";

 

    foreach( ElementId symbolId in

      f.GetFamilySymbolIds() )

    {

      Element symbolElem = doc.GetElement(

        symbolId );

 

      str = str + " типоразмер: "

        + symbolElem.Name + "\n";

    }

  }

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