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

28/05/2014

Идентификаторы элементов в Revit - Часть 3. Отрицательные значения ElementId

Предыдущие части:

Вопрос: Иногда я вижу отрицательные значения ElementId. Что это, и почему такое может быть?

Опубликовано 28.05.2014     Читать далее >>>
28/05/2014

Лёгкое программирование под Autodesk Vault. Часть 17Автор: Дмитрий Емельянов

Обновление свойств пользователей при помощи Autodesk Vault API.
Опубликовано 28.05.2014     Читать далее >>>
28/05/2014

Лёгкое программирование под Autodesk Vault. Часть 18Автор: Дмитрий Емельянов

Vault API предоставляет ряд методов для работы с хранилищами. Они расположены в службах FilestoreVaultService и KnowledgeVaultService. На основании сводной таблицы вы можете получить представление об этих методах.
Опубликовано 28.05.2014     Читать далее >>>
28/05/2014

Лёгкое программирование под Autodesk Vault. Часть 19Автор: Дмитрий Емельянов

Получение хранилищ Vault
Опубликовано 28.05.2014     Читать далее >>>
26/05/2014

Revit как сервис

За довольно короткое время уже несколько человек задавали вопрос о том можно ли использовать приложение Revit как услугу (сервис). Видимо пришло время разобрать этот вопрос поподробней.

Опубликовано 26.05.2014     Читать далее >>>
26/05/2014

Создание твердых тел выдавливанием полилинии

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

Посмотрите на следующий пример кода:

Опубликовано 26.05.2014     Читать далее >>>
26/05/2014

Создание Polyline3d без использования транзакции

Вы возможно в курсе, а может и не в курсе, что управлять примитивами в базе данных AutoCAD можно без использования транзакций... В примере ниже показано как с помощью методов Open и Close (Close происходит при выполнении закрывающейся фигурной скобки оператора using) создать Polyline3d и связанные с ней вершины PolylineVertex3d.

Мне нравится использовать Open и Close вместо транзакций по ряду причин:

Опубликовано 26.05.2014     Читать далее >>>
22/05/2014

Событие закрытия PaletteSet

PaletteSet в AutoCAD становится невидимым когда нажимается кнопка закрытия. Чтобы узнать что палитра закрыта можно использовать событие "StateChanged".
Опубликовано 22.05.2014     Читать далее >>>
21/05/2014

Доступ к Revit из внешнего приложенияАвтор: Виктор Чекалин

Как известно, официального API для доступа к Revit из внешнего приложения не существует.

Тем не менее, можно реализовать его самостоятельно, хоть и с некоторыми ограничениями.

Обращаться к методам Revit API можно только в определенных контекстах:

  • открытие/закрытие приложения (IExternalApplication.OnStartup и IExternalApplication.OnShutdown)
  • Выполнение внешней команды (IExternalCommand.Execute)
  • Событие Idling (UIApplication.Idling)
  • Внешние события (ExternalEvents)

Ни один из этих способов недоступен вне приложения Revit.

Опубликовано 21.05.2014     Читать далее >>>
21/05/2014

Определение прерывания команды при выполнении acedCommandC

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

Функция acedCommandC используется в том случае когда может возникнуть необходимость паузы для ввода данных пользователем. Тут возможно прерывание пользователем выполнения команды вместо ввода данных. Чтобы идентифицировать это событие в коде используются функции "acedCmdCWasCancelled" и "acedCallBackOnCancel". Так же в силу асинхронности функции acedCommandC, завершение команды может быть идентифицировано только в функции обратного вызова, как в следующем коде.

Опубликовано 21.05.2014     Читать далее >>>
19/05/2014

Зумирование до границ окна с использованием CommandASync

В этой статье я проиллюстрирую пример использования AutoCAD 2015 API "Editor.CommandAsync".

Вопрос: Можно ли зумировать в пределах окна до тех пор пока не будет нажата кнопка ESC или отмена?

Ответ: Да. Это возможно с помощью CommandAsync.

Опубликовано 19.05.2014     Читать далее >>>
16/05/2014

Внутри палитр инструментов AutoCAD. Подводя итоги...

Подведем некоторые итоги "разбора" состава палитр инструментов. Что необходимо делать, если самостоятельно создавать инструмент синхронизации серверных палитр у десятков / сотен пользователей?
Опубликовано 16.05.2014     Читать далее >>>
16/05/2014

Добавление значка к курсору в AutoCAD 2015 с помощью .NET

В AutoCAD API 2015 появилась возможность добавлять свой значок к курсору.

Следует отметить, что значок курсора – это BITMAP-объект. Для того, чтобы у вас был прозрачный фон помните, что в качестве прозрачного фона AutoCAD использует пикселы (R=192, G=192, B=192)

Я решил добавить значок курсора в одной команде и удалить его в другой – для того чтобы увидеть как это будет работать в начале выбора примитивов и в других случаях - но более характерно добавлять значок при запуске JIG и удалять его сразу после его завершения.

Опубликовано 16.05.2014     Читать далее >>>
15/05/2014

Идентификаторы элементов в Revit. Часть 2

Продолжаем серию статей об идентификаторах в Revit

Часть 1: Уникальный идентификатор (UniqueId) или числовой (Element.Id)

Уникальность уникального идентификатора UniqueId

Опубликовано 15.05.2014     Читать далее >>>
15/05/2014

Внутри палитр инструментов в AutoCAD часть 3 - Удаление инструментов и палитр.

Мы уже разобрали, что происходит при добавлении каталога и при объединении палитр инструментов в группы. Предлагаю разобрать ситуацию удаления инструментов из палитры или целиком палитры.
Опубликовано 15.05.2014     Читать далее >>>
14/05/2014

Идентификаторы элементов в Revit. Часть 1

Начнем небольшую серия статей о различных идентификаторах элемента, существующих в Revit.

Некоторый из идентификаторов существуют уже давным-давно, некоторые же появились относительно недавно.

Опубликовано 14.05.2014     Читать далее >>>
14/05/2014

Внутри палитр инструментов AutoCAD часть 2 - Объединение в группы

В прошлой части мы добавляли каталоги палитр. Попробуем разобраться с группировкой палитр.
Опубликовано 14.05.2014     Читать далее >>>
13/05/2014

Внутри палитр инструментов AutoCAD часть 1 - Подключение дополнительного каталога

Что происходит, когда пользователь (ну или программист - неважно) подключает дополнительный каталог палитр? Где и как это фиксируется? А если в файлы палитр вносить изменения, чего будет?
Опубликовано 13.05.2014     Читать далее >>>
12/05/2014

Определение размера и месторасположения видов на листе

Рассмотрим, как можно определить размер и месторасположение листа и всех видов на нем.

В предыдущих версиях Revit сделать это было довольно проблематично.

Вот несколько статей на эту тему:

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