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

29/05/2013

Показ локализованных имён свойств с использованием Не-COM системы свойств

Если вы уже начали использовать Не-COM систему свойств в AutoCAD, пожалуйста, посмотрите эту презентацию (DevTV) моего коллеги, Adam Nagy. В этой статье мы рассмотрим изменения, которые потребуются для показа локализованных имён с использованием Не-COM системы свойств.

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

Площадь пересечения двух AcDbRegion

Следующий пример показывает использование метода AcDbRegion::booleanOper() для пересечения двух примитивов область (AcDbRegion)...

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

Печать листов с использованием объекта Plot ActiveX в ObjectARX

Следующий код показывает как напечатать все листы в пакетном режиме с использованием ActiveX API в C++

Ключевые моменты для пакетной печати:

1) Установим число листов, которые будут напечатаны при помощи метода StartBatchMode() объекта IAcadPlot ...

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

Перехват вывода в текстовый экран и командную строку AutoCAD

Вопрос:

Как получить текстовый вывод команд, таких как СПИСОК (_LIST), а также скрыть вывод некоторых команд в командную строку?

Ответ:

Вы можете временно подменить объект HostApplicationServices своим собственным...

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

Пересечение Поверхности и Отрезка с использованием ARX

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

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

Пересечение между примитивами 3-ГРАНЬ и ОТРЕЗОК при помощи ARX

Вопрос:
Как можно вычислить точку пересечения (если она есть) между AcDbFace и AcDbLine

Ответ:
Существуют два основных пути которыми это можно осуществлено с помощью ARX и оба они далее показаны:

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

Перезентация (DevTV): Не-COM система свойств

Мы создали презентацию (DevTV) по Не-COM системе свойств (кодовое имя Ubiquity), публичное API, которое получила последняя версия AutoCAD. В прошлом нужно было создавать COM классы для добавления свойств собственных объектов в Палитру свойств. Теперь вы можете делать это без использования COM – поэтому мы её и назвали ‘Не-COM система свойств'.

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

Перебор всех IAcadBlock в IAcadBlocks используя ActiveX в C++

Вопрос:
В C++ я не вижу возможности перебрать IAcadBlocks, чтобы получить доступ к каждому IAcadBlock. Есть пример кода, который это делает?

Ответ:
Следующие два подхода перебирают IAcadBlocks для доступа к каждому IAcadBlock. Первый предполагает, что вы настроили ваш проект с использованием ARX/MFC и импортирована TLB-библиотеки AutoCAD COM.

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

Отображение пользовательского примитива при перетаскивании

Если пользовательский примитив унаследован от AcDbEntity и использует методы polyline() и polygon() класса AcGiWorldGeometry внутри метода worldDraw(), то в ряде случаев функции могут возвращать состояние ошибки если используются при перетаскивании или редактировании при помощи ручек (grips).

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

Об автосохранении и уведомлениях/событиях

Когда AutoCAD выполняет автосохранение, он сохраняет чертежи в каталог Temp операционной системы с именами "DrawingName_Numbers.ac$", как указано в диалоге Параметры, и посылает сообщение kSaveMsg всем приложениям:

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

О редактировании при помощи ручек и производительности

Если исследовать файлы заголовков ObjectARX SDK, то можно заметить, что реализация редактирования с помощью ручек (Gripedit) использует механизм клонирования при перетаскивании. Это означает, что каждый раз, когда курсор перемещается, AutoCAD создаёт новые клоны «захваченных» примитивов и сразу отбрасывает эти клоны.

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

О Visual Studio 2010, Visual Studio Express, набор средств платформы и AutoCAD 2010-2012

Вот некоторые ответы на наиболее часто задаваемые вопросы о Visual Studio, набор средств платформы (Platform Toolset) и AutoCAD::

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

Не-COM свойства только для чтения

Если вы хотите сделать ваше свойство только для чтения (затемненное), то достаточно вернуть eNotApplicable из функции subSetValue

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

Не-COM свойства со списком возможных значений

В Палитре свойств вы можете найти свойства, которые принимают только значения, которые перечислены для свойства. Если вы хотите создать такое свойство, тогда вам нужно создать новый перечисляемый тип и использовать его для создания нового AcRxValueType, который реализует интерфейс IAcRxEnumeration

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

Можно ли в ObjectARX при помощи acedGetFileD() запросить только каталог?

Вопрос:

Можно ли в ObjectARX при помощи acedGetFileD() запросить только каталог?

Ответ:

Хотя вы можете установить флаг, чтобы отключить выбор файла по умолчанию или ввод нового имени файла, функция acedGetFileD() предназначена для возврата полного имени файла, а не каталога. Если вам нужно выбрать только имя каталога, вы можете использовать функцию acedGetFileNavDialog()

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

Копия AcDbRegion или AcDb3dSolid равна NULL при перетаскивании

Вопрос:
Если я наследую новый класс от AcDbRegion или AcDb3dSolid то его метод isNull() возвращает true если этот экземпляр перетаскивается. Как я могу обойти эту проблему?

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

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

Как узнать, используя ObjectARX, находимся ли мы в пространстве Листа?

Вопрос:
Как узнать, используя ObjectARX, находимся ли мы в пространстве Листа?

Ответ:
Следующий фрагмент кода даёт ответ на этот вопрос:

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

Как заставить AutoCAD обновить графическую область экрана

Вопрос:
Как заставить AutoCAD обновить графическую область экрана?

Ответ:
Вы можете заставить обновить графическую область, вставив следующие строки в код...

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

Как преобразовать AcGeMatrix3d в VARIANT

Вопрос:
В классе AcAxMatrix3d есть метод для преобразования VARIANT в AcGeMatrix3d, но нет метода для обратного преобразования. А как можно сделать обратное преобразование?

Ответ:
Следующий код выполняет преобразование AcGeMatrix3d в VARIANT:

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