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

10/10/2013

Копирование тела из одного компонента в другой

Вопрос:
Пример “Associative body copy API Sample” из Inventor API Help работает некорректно в случае создания не ассоциативной копии твердого тела, а именно, тело-копия неправильно позиционируется.

Ответ:
Действительно, проблема в том, что преобразование координат, связанное с компонентом в сборке, не учитывается во время копирования объекта SurfaceBodyProxy. Ниже приводится обновленная версия исходного примера, в которой эта проблема учтена.

Действительно, проблема в том, что преобразование координат, связанное с компонентом в сборке, не учитывается во время копирования объекта SurfaceBodyProxy. Ниже приводится обновленная версия исходного примера, в которой эта проблема учтена.

Опубликовано 10.10.2013     Читать далее >>>
09/10/2013

Получение фрагментов текста из примитива MText

Используем метод “ExplodeFragments”, как показано ниже в коде, для разбивки текстовой строки MText на фрагменты. Функция обратного вызова, которая передается методу “ExplodeFragments” вызывается для каждого фрагмента текста примитива MText.

Опубликовано 09.10.2013     Читать далее >>>
27/09/2013

Получение положения мыши (курсора) без события

AutoCAD API реализует интерфейс AcEdInputPointManager.InputPointMonitor который отслеживает любой ввод пользователя, в том числе и перемещение мыши. При помощи API можно отслеживать и сообщения в очереди Windows. Иногда нужно получить текущее положение мыши без наступления какого-либо события. Следующий код демонстрирует как это можно сделать. В действительности достаточно получить текущее положение курсора Windows и преобразовать его в координаты AutoCAD. Следует учитывать также ПСК.
Опубликовано 27.09.2013     Читать далее >>>
27/09/2013

Запуск правил iLogic из внешнего приложения

При работе с объектами iLogic из Inventor AddIn доступ к ним можно реализовать в режиме раннего связывания. Если же требуется получить к ним доступ из внешнего приложения, приходится пользоваться поздним связыванием. Причина кроется в том, что объекты iLogic не являются истинными COM объектами, они в действительности представляют собой обертки для .NET объектов.

Опубликовано 27.09.2013     Читать далее >>>
27/09/2013

Создание перекрытия с отверстиями (продолжение)Автор: Виктор Чекалин

Ранее обсуждался способ создания перекрытия со несколкими границами. В данной статье обсуждается еще один способ, как программно создать такое перекрытие.
Опубликовано 27.09.2013     Читать далее >>>
26/09/2013

Как реагировать на клавиши курсора (без передачи их в AutoCAD) используя ObjectARX?

В ObjectARX вы можете добавить фильтр в функцию обработки окна AutoCAD можно использовать PInvoke для использования этой функциональности в .NET).

Опубликовано 26.09.2013     Читать далее >>>
25/09/2013

Смещение элементовАвтор: Виктор Чекалин

Опубликовано 25.09.2013     Читать далее >>>
24/09/2013

Петля штриховки использующая коллекцию Curve2d

Чтобы создать штриховку информация для создания петли может быть указана как коллекция ObjectId содержащихся в базе примитивов. Тут лучше всего посмотреть эту статью: Создание объектов штриховки с использованием трассировки границ в .NET. Другой путь заключается в работе с одной лишь геометрией без добавления примитивов в базу.
Опубликовано 24.09.2013     Читать далее >>>
23/09/2013

Создание больших сборок средствами Inventor API. Общие рекомендации.

В данной статье собраны некоторые рекомендации общего характера, которые могут оказаться полезными при генерации сборок большой размерности средствами Inventor API. Вопросы настройки компьютерного «железа» не затрагиваются.

Опубликовано 23.09.2013     Читать далее >>>
21/09/2013

Описание метода Database.ResolveXrefs

Если вам интересно, что за параметры используются в методе…

public void Database.ResolveXrefs(bool useThreadEngine, bool doNewOnly)

…тогда взгляните описание эквивалентной функции в ObjectARX Reference Guide

Опубликовано 21.09.2013     Читать далее >>>
20/09/2013

Изменение имени Растрового изображения

В поле «имя» в палитре свойств AutoCAD для Растрового изображения отображается имя из записи словаря, используемого для хранения RasterImageDef в словаре именованных объектов "ACAD_IMAGE_DICT". Чтобы изменить имя Растрового изображения мы создадим новый RasterImageDef и ассоциируем все существующие Растровые изображения с ним. Важно также отключить реакторы растрового изображения перед тем как RasterImageDef будет выгружен и удален.

Опубликовано 20.09.2013     Читать далее >>>
18/09/2013

Зумирование, панорамирование и орбита текущего вида AutoCAD с помощью ObjectARX

Наш коллега Киан написал статью о зумировании, панорамировании и орбите текущего вида при помощи .NET. Я переписал этот код с помощью ObjectARX.
Опубликовано 18.09.2013     Читать далее >>>
16/09/2013

Длина имен ключей в словаре

К именам ключей в словаре применимы те же правила, что и к именам в символьных таблицах: не больше 255 символов, должны быть буквенно-цифровые и могут содержать символы доллара ($), подчеркивания (_) и переноса (-). Можно использовать функцию acdbSNValid() для проверки допустимости имени.

Опубликовано 16.09.2013     Читать далее >>>
13/09/2013

Линия привязки

В статье обсуждается как программно можно изменить линюю привязки стены
Опубликовано 13.09.2013     Читать далее >>>
13/09/2013

Закрытие документов из унаследованного от CAdUiDialog диалога

Вопрос:
Я не могу закрыть документы с использованием closeDocument API из диалога, унаследованного от CAdUiDialog, так как AutoCAD сообщает, что документ занят. Почему это происходит?

Опубликовано 13.09.2013     Читать далее >>>
11/09/2013

Изменение путей к внешним ссылкам из абсолютных в относительные

Чтобы поменять пути к внешним ссылкам (XREF) из абсолютных в относительные нужно просто изменить строку BlockTableRecord.PathName так, чтобы она определяла относительный путь (или вообще без пути если мы полагаемся на то, что FindFile может найти наш Xref).
Опубликовано 11.09.2013     Читать далее >>>