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

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

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

Мы можем попробовать использовать в ObjectARX-приложении ActiveX интерфейс AutoCAD для установки пользовательского профиля при старте и завершении AutoCAD при помощи интерфейсов IAcadApplication и IAcadPreferences

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

Поиск соседних комнат

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

Использование Window.Focus в AutoCAD 2014

Среди новых API в AutoCAD 2014 включен метод Window.Focus. Этот метод очень полезен в том случае если вы используете палитры для вызова команд, которые заставляют AutoCAD запрашивать у пользователя информацию. В предыдущих версиях AutoCAD его редактор не получал фокус пока на нём не был активизирован. Это требовало дополнительного нажатия кнопки мыши. Чтобы избежать этого требовалось или вызвать функцию SetFocus из Win32 API посредством P/Invoke или использовать недокументированный метод Internal.Utils.SetFocusToDwgView.

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

AutoCAD, VBA и производительность

Описываются причины, по которым Вы можете отказаться от идеи использования VBA в AutoCAD x64 версий 2008-2013. То есть совсем отказаться. Вызвав текстовое окно (клавиша F2), можно иногда увидеть фразу наподобие Initializing VBA System... Всего лишь после инициализации VBA-системы в AutoCAD некоторые команды могут выполняться на порядок дольше. Конечно, значение "в 10 раз" может плавать в большую или меньшую сторону (зависит от очень многих факторов). При этом, что самое интересное, даже необязательно загружать какой бы то ни было DVB - AutoCAD и так начнет безбожно тормозить.
Опубликовано 05.09.2013     Читать далее >>>
05/09/2013

Выбор подходящего вида при вставке семейства

Описание решение проблемы, связанной с использованием метода PromptForFamilyInstancePlacement в Revit 2014.
Опубликовано 05.09.2013     Читать далее >>>
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     Читать далее >>>