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

31/03/2020

Использование базы данных Oracle внутри AutoCAD

Вопрос: Возникла проблема подключения базы Oracle к AutoCAD. Как при помощи API получить информацию из моей базы Oracle?

Ответ: Начиная с AutoCAD 2020 он только 64-разрядный – нет 32-разрядного AutoCAD.

Если вы хотите подключится к Oracle вам понадобятся 64-разрядные OLE Db драйвера клиента Oracle.

Опубликовано 31.03.2020     Читать далее >>>
31/05/2017

Как получить каноническое имя формата листа для локального имени формата?Автор: Александр Ривилис

Вопрос: Пользователь в команде ПЕЧАТЬ (_PLOT) выбирает формат листа по его локальному имени, а в программе для печати следует задавать каноническое имя формата. Как можно получить соответствие между локальным и каноническим именами формата?

Ответ: Ниже приведен код на VBA, реализующий преобразование локального имени в каноническое. Основное преобразование происходит в функции GetCanonicalFromLocalName.

Опубликовано 31.05.2017     Читать далее >>>
21/01/2017

Печать границ окна при помощи VBA

Я получил вопрос от партнера ADN почему его код, который печатает содержимого окна в действительности ничего не печатает, а для других чертежей печатает нормально.

Ключевая проблема в том что API для печати принимает координаты в системе координат дисплея DCS (ДСК). Так что координаты указанные пользователем следует преобразовать из ПСК (UCS) в ДСК (DCS).

Опубликовано 21.01.2017     Читать далее >>>
11/07/2015

Как получить строку подсказки атрибута блока при помощи VBA?

Мы можем получить строку подсказки атрибута из определения атрибута, содержащегося в определении блока. Следующий пример кода демонстрирует это:
Опубликовано 11.07.2015     Читать далее >>>
25/06/2015

Получение постоянных атрибутов вставки блока при помощи VBA

Как можно получить имя блока, значения атрибутов, найти количество вставок блока и всё это внести в таблицу при помощи VBA? Получаем информацию о блоке из определения блока в таблице блоков.
Опубликовано 25.06.2015     Читать далее >>>
30/04/2014

Где сейчас можно найти инсталляционные пакеты VBA для старых версий AutoCAD?

Где сейчас можно найти инсталляционные пакеты VBA для старых версий AutoCAD? К сожалению, с нынешнего момента невозможно загрузить пакеты VBA для AutoCAD 2011-2013
Опубликовано 30.04.2014     Читать далее >>>
20/02/2014

Совместимость макросов VBA в AutoCAD2014x64

Нередко возникают вопросы, связанные с переходом на AutoCAD 2014 x64 с более ранних версий (или с 32-разрядной версии AutoCAD 2014). Звучит это примерно так: "Мой макрос VBA использует несколько дополнительных контролов (далее OCX) или библиотек типов (TypeLibrary). Макрос прекрасно работал в AutoCAD вплоть до версии 2014. Сейчас макрос выдает ошибку, связанную именно с этими OCX/TypeLibrary"
Опубликовано 20.02.2014     Читать далее >>>
05/09/2013

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

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

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

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

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

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

AutoCAD 2014 API (VBA)

Филипп Леефсма (Philippe Leefsma) создал презентацию (DevTV) о новшествах в AutoCAD 2014 API. Вы можете скачать её отсюда (на английском).

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

Получение координат контура подрезки

Вопрос:
Я могу установить контур подрезки при помощи метода AcadRasterImage.ClipBoundary, но как я могу получить координаты уже существующего контура подрезки? Я знаю, что если контур прямоугольный, то я могу получить граничный прямоугольник, ширину и высоту. А если контур подрезки имеет неправильную (непрямоугольную) форму, то я не могу найти ни одного метода, чтобы получить его координаты.

Решение:
Эквивалент метода из ObjectARX AcDbRasterImage::clipBoundary() не представлен в текущей модели ActiveX Automation.

Мы можем самостоятельно предоставить такой метод. Полный проект прилагается: ImgClipBoundary

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

AutoCAD 2014 для разработчиков (VBA)

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

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

Переименование или копирование анонимного блока с использованием LISP или VBA (VBA)

Вопрос: как можно анонимному блоку задать другое имя, например, TestBlock?

Ответ: задать имя анонимному блоку возможно. Например, можно переименовать анонимный блок со служебным именем *T1 в TestBlock. Во время вызова команды _.insert или _.block в списке доступных блоков имя TestBlock не показывается, хотя блок с таким именем и существует...

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