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

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

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

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

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

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

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

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

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

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

Как проверить являться ли строка допустимой в качестве имени в символьной таблице?

Вопрос:

Я хотел бы проверить, что строка, указанная пользователем в качестве имени блока или имени слоя, является допустимой. Есть функции для проверки?

Ответ:

Вы правы. Не каждая строка является приемлемой в качестве имени, например, блока. Когда создаётся блок с использованием интерфейса AutoCAD, пользователь может увидеть следующее сообщение об ошибке:

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

Поддержка команды ПОДЕЛИ (DIVIDE) в собственном примитиве

Вопрос:
Как обеспечить поддержку моим примитивом команды AutoCAD ПОДЕЛИ (DIVIDE)?

Ответ:
Чтобы обеспечить поддержку моим примитивом команды ПОДЕЛИ (DIVIDE) необходимо унаследовать его от класса AcDbCurve или одного из его производных классов. Минимальное количество методов, которое следует переопределить для работы команды ПОДЕЛИ (DIVIDE):

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

Как создать Таблицу и заполнить её ячейки средствами .NET

Следующий код показывает как создать таблицу и заполнить её ячейки. Некоторые устаревшие методы таблицы еще используются в коде. Вы получите предупреждение при компиляции при использовании устаревших методов. Пожалуйста, используйте новые методы.

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

Как средствами ObjectARX не допустить сохранение в DWG-файл некоторых примитивов

Вопрос:
Я хочу запретить некоторым примитивам сохранятся в dwg-файл. Как это сделать?

Ответ:
Если вы хотите предотвратить сохранение каких-то примитивов в DWG-файл, а точнее исключить некоторые примитивы из операции сохранения, вы можете для этой цели использовать реактор AcEdEditorReactor

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

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

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

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