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

04/09/2013

Использование открытой облегченной полилинии в качестве границы штриховки в VBA

Вопрос:
Как можно использовать открытую облегченную полилинию (LWPOLYLINE) в качестве границы при создании штриховки? Можно ли так же использовать метод AddVertex для добавления вершин к облегченной полилинии?

Решение:
Следующий код содержит функцию, которая создаёт открытую облегченную полилинию (используя метод AddVertex), хотя начальная и конечная точки совпадают. Эта полилиния затем используется в качестве внешней границы штриховки.

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

Последовательность загрузки приложений в AutoCAD с учетом SECURELOAD

В продолжение темы "Последовательность загрузки приложений в AutoCAD" хотелось бы осветить вопрос о безопасности и о шагах, предпринятых Autodesk в этом отношении.
Опубликовано 03.09.2013     Читать далее >>>
02/09/2013

Использование реакторов в AutoCAD Javascript API

Вам необходимо прочитать статью о введении в Javascript API для AutoCAD. Это небольшой пример, демонстрирующий использование реакторов. В этом примере мы будем включать/выключать реактор ObjectModified для выбранного примитива.

Опубликовано 02.09.2013     Читать далее >>>
31/08/2013

Parameter.DisplayUnitTypeАвтор: Виктор Чекалин

В статье описывается способ улучшения производительности при работе со свойством DisplayUnitType класса Parameter.
Опубликовано 31.08.2013     Читать далее >>>
30/08/2013

Выбор примитивов пространства Модели из пространства Листа без предварительного выбора видового экрана средствами ObjectARX

Вопрос:
Как можно выбрать примитивы Модели находясь в Листе без предварительного выбора видового экрана?

Ответ:
В ObjectARX есть недокументированная функция acedNEntSelPEx(), которая позволяет сделать именно это. Она даже позволяет передать точку указания при помощи параметра ‘pickflag’, так что вы сами можете обеспечить точку в пространстве листа.

Опубликовано 30.08.2013     Читать далее >>>
29/08/2013

Использование события выбора ячейки в таблице

В момент выбора ячейки вы можете захотеть узнать её номер ряда и колонки в таблице.

Подходящего события в публичном AutoCAD .NET API нет, но в пространстве имён "Autodesk.AutoCAD.Internal.Reactors" есть такое событие. Обратите внимание, что использование любых классов/методов из пространства имён "Internal" не поддерживается и они могут быть изменены в любое время. Так что если вы собираетесь их использовать, проверьте их полностью, чтобы убедиться что они работают корректно в вашем приложении.

Опубликовано 29.08.2013     Читать далее >>>
28/08/2013

Генерация миниатюры dwg-файла при помощи функции acdbMakeDrawingPreview

Вопрос:
Как сгенерировать миниатюру dwg-файла, который создан при помощи AcDbDatabase::wblock/saveas API?

Ответ:
arx-файл acblock.arx экспортирует функцию, которая позволяет сгенерировать миниатюру dwg-файла. Заметим, что эта функция недокументированная и неподдерживаемая. Заметим также, что её сигнатура может измениться или функция вообще не будет доступна в будущем.

Опубликовано 28.08.2013     Читать далее >>>
28/08/2013

Как получить абсолютно все видимые и скрытые элементы

В статье описывается оригинальный метод определения видимости элемента на виде с помощью использования CustomExporter.
Опубликовано 28.08.2013     Читать далее >>>
26/08/2013

Динамически блоки с операцией Растянуть (Stretch)

Средствами API невозможно создать динамический блок с операцией Растяни.

Одним из возможных путей обойти это ограничение – это создать набор чертежей с динамическими блоками. Эти чертежи должны быть созданы с использованием пользовательского интерфейса AutoCAD. Такие рисунки можно вставить при необходимости в любой другой чертеж с использованием AutoCAD API.

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

Последовательность загрузки приложений в AutoCADАвтор: Алексей Кулик

Текст касается тех, кто значительно изменил / дополнил штатный функционал AutoCAD, и кого волнует последовательность загрузки собственных дополнений в AutoCAD. Вполне вероятно, что разъяснение загрузки, например, LISP-файлов, позволит выяснить причину некорректной их работы. В качестве примера здесь используется AutoCAD 2009, но подобные принципы используются во всех версиях AutoCAD начиная с 2006.
Опубликовано 24.08.2013     Читать далее >>>
23/08/2013

Две типичных ошибки работы с транзакциями

Возможно, это вырастет в целую серию о типичных ошибках.

Моя последняя статья была об обработке прерываний, и Adam написал замечание о неизвестных командах. Теперь две наиболее типичных ошибки людей работающих с транзакциями, когда они только начали использовать AutoCAD .NET API, которые могут потратить много часов для отладки и будут чувствовать себя крайне глупо, когда поймут в чем причина).

Опубликовано 23.08.2013     Читать далее >>>
22/08/2013

Использование транзитной графики

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

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

Опубликовано 22.08.2013     Читать далее >>>
22/08/2013

API для работы с фильтрами переопределения видимости/графики

В статье описываются несколько случаев, при которых нужно ипользовать новые в Revit API 2014 функции.
Опубликовано 22.08.2013     Читать далее >>>
21/08/2013

Как получить идентификатор типа Фасада здания

В статье описывавается способ как получить идентификатор типа Фасада здания, который необходим при создани нового фасада.
Опубликовано 21.08.2013     Читать далее >>>
19/08/2013

Добавление атрибутов к определению блока с использованием C++ COM/ActiveX Automation в ObjectARX

Фокус в том, чтобы сделать это используя интерфейсы I * Ptr интерфейсы (например, IAcadDocumentPtr), так что бы подсчет COM-ссылок осуществлялся автоматически.
А другой фокус в том, чтобы использовать VARIANT как можно реже, настолько насколько это возможно - для этого у нас есть AcAx-классы. Вот код:

Опубликовано 19.08.2013     Читать далее >>>
19/08/2013

Загрузка управляемой .NET сборки из ObjectARX приложения

Вопрос:

Как загрузить управляемую .NET сборку из ObjectARX приложения?

Ответ:

Чтобы загрузить управляемую сборку из arx-приложения, вы можете использовать экспортируемую из acdbmgd.dll функцию LoadManagedDll.

Опубликовано 19.08.2013     Читать далее >>>
16/08/2013

Задание примитиву свойства прозрачности используя метод setAlphaPercent

Это пример на ObjectARX задающий примитиву прозрачность, используя метод "setAlphaPercent". Этот метод можно использовать вместо метода "setAlpha" если вы хотите задать альфа-значение в процентах.

Опубликовано 16.08.2013     Читать далее >>>
15/08/2013

Изменение типа Видового экрана (ViewPort)

Изменение типа элемента с помощью параметра ELEM_FAMILY_AND_TYPE_PARAM
Опубликовано 15.08.2013     Читать далее >>>
14/08/2013

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

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

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