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

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     Читать далее >>>
09/01/2014

Расчет длины наклонного сегмента между двумя трубами

В посте мы обсудим интересную команду, связанную с MEP, которую я реализовал для вычисления наклонного сегмента на хакатоне CASE BIM на AU по предложению Гарри Маттисона (Harry Mattison) и Мэтью Нельсона (Matthew Nelson).

 

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

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

Доступ к COM-приложениям из Таблицы исполняющихся объектов (ROT)

Вот тема, которая то и дело всплывает: как перейти к определенному экземпляру COM-приложения, если есть несколько экземпляров имеющих аналогичный ProgId? Вызов GetActiveObject (progId) может вернуть только один объект, так что нет никакого способа, чтобы выбрать нужный конкретный экземпляр.

Обойти это ограничение можно используя Таблицу исполняющихся объектов (Running Object Table), которая может предоставить вам доступ к каждому экземпляру COM, работающему на машине.

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

Как получить ссылку (Reference) центра дуги

Вопрос: Как можно получить доступ к ссылке на центр дуги?

 

Работая с выдавливанием в файле семейства, можно получить доступ к его эскизу и геометрии каждого элемента выдавливания, например, с помощью вот такого кода на Managed C++:

Код - C++: [Выделить]
  Extrusion ^ext = createExtrusion(...)

  CurveArrArray ^sketchCvArrArr = ext->Sketch->Profile;

  for each( CurveArray ^oneCvLoop in sketchCvArrArr )

  {

    for each( Curve ^oneSketchCv in oneCvLoop )

    {

      // ...

    }

  }

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