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

30/01/2014

Легкое создание кнопок на ленте для вызова внешних командАвтор: Виктор Чекалин

Создавая собственную внешнюю команду в интерфейсе Revit ее можно вызвать двумя способами:

Описать внешнюю команду в файле манифеста addin

Код - XML: [Выделить]
 <?xml version="1.0" encoding="utf-8"?>

<RevitAddIns>

  <AddIn Type="Command">

    <Text>Command PipeCreation</Text>

    <Description>Some description for PipeCreation</Description>

    <Assembly>PipeCreation.dll</Assembly>

    <FullClassName>PipeCreation.Command</FullClassName>

    <ClientId>da5307a6-0182-4f28-8387-dd0de47446ec</ClientId>

    <VendorId>ADNCIS</VendorId>

    <VendorDescription>http://adn-cis.org </VendorDescription>

  </AddIn>

</RevitAddIns>

В этом случае Revit автоматически добавит команду в раскрывающийся список Внешние инструменты на вкладке Надстройки

Опубликовано 30.01.2014     Читать далее >>>
29/01/2014

Как вставить растровое изображение с помощью .NET API?

Чтобы вставить растровое изображение необходимо сначала создать определение растрового изображения, так как растровое изображение – это только ссылка на определение растрового изображения. Следующий код показывает как открыть существующее определение изображения (т.е.. MY_IMAGE_NAME), а если его нет – создать его и затем создать ссылку на него.
Опубликовано 29.01.2014     Читать далее >>>
27/01/2014

Обновление и модификация растрового изображения

Следующий код показывает как следует модифицировать/обновлять источник растрового изображения. Код просит пользователя указать растровое изображение и находит определение растрового изображения. Обратите внимание, что изменение определения растрового изображения приводит к изменению всех связанных растровых изображений.
Опубликовано 27.01.2014     Читать далее >>>
26/01/2014

Создание трубы с помощью метода Pipe.CreateАвтор: Виктор Чекалин

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

Статический метод Pipe.Create появился в Revit API 2014 на замену методу Document.Create.NewPipe.

Метод принимает следующие параметры:

  • document. Проект, в котором нужно создать трубу.
  • systemTypeId. Идентификатор типа системы.
  • pipeTypeId. Идентификатор типа трубы.
  • levelId. Идентификатор уровня, на котором нужно создать трубу.
  • firstPoint. Координаты начала трубы
  • secondPoint. Координаты окончания трубы.
Опубликовано 26.01.2014     Читать далее >>>
24/01/2014

Как масштабировать неравномерно по осям изображение, чтобы заполнить область?

Растровые изображения относятся к категории примитивов, которые поддерживают неравномерное масштабирование по осям.
Опубликовано 24.01.2014     Читать далее >>>
23/01/2014

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

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

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

Вставка растрового изображения с использованием буфера изображения

Можно использовать метод AcDbRasterImageDef::setImage в случае если вы не хотите указывать путь к файлу растрового изображения при вставке изображения. Это можно считать еще одним подходм для выполнения того, что объясняется в этой статье.
Опубликовано 22.01.2014     Читать далее >>>
21/01/2014

Явное создание отводов при создании наклонного сегмента трубопровода

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

В завершении рассмотрим создание и вставку соответствующих фитингов.

Опубликовано 21.01.2014     Читать далее >>>
20/01/2014

Встраивание изображения в чертеж

Вопрос:

Как можно встроить изображение в чертеж так, чтобы не было необходимости передавать отдельный от чертежа растровый файл?

Ответ:

Это можно сделать двумя способами. Метод зависит от ваших требований.

Опубликовано 20.01.2014     Читать далее >>>
18/01/2014

Присоединение наклонного сегмента трубопровода к соседним трубам

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

Следующий шаг состоит в том, что нужно корректно соединить все трубы в единую систему.

До сих пор я предполагал, что просто соединив трубы друг с другом, Revit автоматически создаст соответствующие фитинги.

К сожалению, мое предположение было ошибочным.

Опубликовано 18.01.2014     Читать далее >>>
17/01/2014

Выгрузка и удаление внешней ссылки при помощи .NET

В приложении ObjectARX чтобы получить уведомление после того, как внешняя ссылка выгружена или удалена необходимо переопределить методы "AcEditorReactor::xrefSubcommandUnloadItem" и "AcEditorReactor::xrefSubcommandDetachItem" класса реактора редактора. К сожалению, в AutoCAD .Net API нет соответствующих методов.
Опубликовано 17.01.2014     Читать далее >>>
16/01/2014

Параметры чертежа DWGАвтор: Алексей Терно

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

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

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

Сразу же возникает очевидный вопрос: «отлично. Но только как же теперь вставить реальный сегмент трубы, вместо того, чтобы просто отобразить линию, отображающую результат расчета сегмента?».

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

Autodesk.Connectivity.Explorer.ExtensibilityTools.dll

Нюансы использования функционала Vault Explorer на стороне клиента.
Опубликовано 15.01.2014     Читать далее >>>
15/01/2014

Синхронизация Ленты и системной переменной

Это пример кода, который показывает в комбобоксе Ленты список возможных значений системной переменной LUNITS и обеспечивает синхронизацию этой переменной и комбобокса. Системная переменная LUNITS используется только для демонстрации возможности синхронизации и этот код легко адаптируется для других системных переменных AutoCAD.
Опубликовано 15.01.2014     Читать далее >>>
13/01/2014

Контекстное меню ручек с использованием AcDbMultiModesGripPE

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

Чтобы было веселее, я создал собственный примитив, который напоминает дерево. Контекстное меню его ручек показывает два режима: "Spring" (весна) and "Winter" (зима). После того как собственный примитив дерева создан, контекстное меню появляется, когда курсор оказывается возле ручки (ручка становится «теплой»). Выбор "Spring" (весна) приводит к тому, что у дерева появляются листья, а при выборе "Winter" (зима) дерево сбрасывает листья.

Опубликовано 13.01.2014     Читать далее >>>
11/01/2014

Создание и запуск приложенияАвтор: Алексей Терно

Создание приложения для Civil 3D начинается с выбора правильного типа проекта – библиотека классов:
Опубликовано 11.01.2014     Читать далее >>>
10/01/2014

Как завершить "Editor.GetSelection" при выборе ключевого слова

Один из путей выхода из метода “GetSelection” по ключевому слову – это создать исключение в обработчике события ввода ключевых слов. Ниже простой пример объясняющий эту технику. При нажатии любого ключевого слова генерируется исключение “Autodesk.AutoCAD.Runtime.ErrorStatus.OK” с передачей ключевого слова. Это исключение обрабатывается в коде для идентификации введенного ключевого слова.
Опубликовано 10.01.2014     Читать далее >>>