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

29/05/2013

Получение информации о гранях PolyFaceMesh в .NET

Это .NET версия этой статьи

Обычно достаточно просто мигрировать из кода ObjectARX в код AutoCAD .NET API, так как это просто обертки над ARX API. Вам нужно убрать префикс AcDb из имён классов базы данных, использовать foreach вместо функции создающей итератор, использовать транзакции, и большая часть следующего кода будет готова :)

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

Пересечение между плоскостью и кривой в .NET

Вот шаги, которые позволят найти точки пересечения между плоскостью и кривой (на основе объяснения данного моим коллегой Krishnamurthy Kalvai) . Я представляю образец кода, который реализует эти шаги, чтобы найти пересечение эллипса и плоскости.

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

Ошибка PInvokeStackImbalance

Вопрос:

Я пытаюсь с помощью P/Invoke вызвать acedPostCommand() чтобы прервать текущую команду, а получаю ошибку PInvokeStackImbalance при вызове acedPostCommand внутри моего .NET кода:

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

Ошибка "Проблема при загрузке приложения " на 64-разрядной Windows при использовании GetInterfaceObject

Вопрос:

У меня есть AutoCAD .NET сборка, которая является ActiveX сервером, что позволяет мне управлять сборкой из внешнего приложения. Это хорошо работает в 32-разрядной Windows, но в 64-разрядной я получаю ошибку «Проблема при загрузке приложения» ("Problem in loading application") когда использую метод GetInterfaceObject() для доступа к моему ActiveX серверу. Я проверил, что сборка загружена, так что непонятно в чем ошибка...

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

Отображение модальных и немодальных форм в AutoCAD .NET

Еще один из примеров ошибок начинающих.

Иногда то что мы уже знаем становится у нас на пути. Если мы хотим показать форму в .NET, мы используем Form.ShowDialog. Правильно?

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

Отключение обработчиков событий

Тема на форуме AutoCAD .NET напомнила мне ситуацию, когда я потратил массу времени на отладку при разработке моего приложения DigSigStamp. Всё было замечательно, пока Kean не почистил мой код для отправки на сайт Labs. Тогда мои обработчики событий неожиданно перестали вызываться при повторном запуске моего кода...

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

Определение имени блока по вставке блока

Определение имени блока из вставки блока становится более сложным делом если этот блок динамический. Когда пользователь модифицирует динамический блок AutoCAD сначала создает анонимный блок, а затем создаёт ссылку на этот анонимный блок в этом чертеже. Ниже приведён код, который учитывает этот сценарий и получает имя основного (а не анонимного) блока...

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

Обеспечение параллельности транзитной графики экрану

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

Метод «Editor.PointToWorld» можно использовать для конвертации точки, для которой известны её экранные координаты, чтобы получить её координаты в МСК (WCS). Этот метод можно использовать для вычисления точек в МСК (WCS) для которых известны координаты в ДСК (DCS)...

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

Некорректные значения системных переменных EXTMIN / EXTMAX в чертеже

AutoCAD подразумевает такие значения по-умолчанию для EXTMIN и EXTMAX: (1.0E+20, 1.0E+20, 1.0E+20) и (-1.0E+20,-1.0E+20,-1.0E+20) как разработчики заложили в программу. Это порядка 1/10 длины Вселенной.

Возможно появление чертежей, в которых эти значения останутся неизменными, несмотря на то, что в них уже добавлены примитивы. Одна из возможных причин этого – не был метод "Database.UpdateExt" после того как примитивы были добавлены в базу чертежа.

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

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

Вопрос:

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

Ответ:

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

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

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

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

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

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

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

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