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

04/08/2015

НПИ (CUI) и прозрачные картинки

До AutoCAD 2014 включительно, AutoCAD использует только формат BMP в CUI. Так как формат BMP не поддерживает прозрачность, AutoCAD использует RGB-цвет 192,192,192 как прозрачный. Пользователи AutoCAD могут использовать эту особенность в CUI.

Но это ограничивает возможность использования прозрачности только фоновым цветом 192,192,192. Любые другие фоновые цвета становятся видимыми в CUI.

Начиная с AutoCAD 2015 (и в более новых версиях), вы можете использовать формат PNG для картинок. Так как PNG формат поддерживает прозрачность, вы можете установить прозрачность для картинки и не ограничены только фоновым цветом 192,192,192.

Если у вас есть картинка в формате BMP с фоновым цветом (типа 192,192,192) тогда вызов “Bitmap.MakeTransparent” API поможет конвертировать этот цвет в прозрачный. Следующий код конвертирует BMPс фоновым цветом 192,192,192 в прозрачный PNG

Опубликовано 04.08.2015     Читать далее >>>
03/08/2015

Visretain и слои внешних ссылок

Системная переменная VISRETAIN существует достаточно давно и ее описание вроде бы внятно и понятно. Но вот стоит поставить ее равной 1 и вылезают некоторые моменты, предусмотреть которые я в свое время не смог.
Опубликовано 03.08.2015     Читать далее >>>
01/08/2015

Сервис хранения объектов Object Storage Service (OSS)

p>О сервисе

API Сервиса хранения объектов предоставляет простой, быстрый и безопасный способ для хранения и доступа к объектам в Autodesk Cloud. Все обращения к OSS зачищены при помощи технологии OAuth 2.0.

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

Чтение доступных методов определения потерь

Недавно мы рассматривали, как можно получить данные таблицы ASHRE. Эта информация хранится в Расширяемой области хранения и связана с элементом параметром  RBS_DUCT_FITTING_LOSS_METHOD_SERVER_PARAM в виде GUID значения.

А как мы можем получить список всех доступных методов определения потерь?

 

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

Твердые тела и поверхности Fusion - Часть 1

Рассматриваются особенности топологии Fusion 360
Опубликовано 29.07.2015     Читать далее >>>
25/07/2015

Документы, изделия, комплектующие, вхождения, и прокси в Fusion 360

Рассматриваются особенности сущностей Fusion 360
Опубликовано 25.07.2015     Читать далее >>>
24/07/2015

Связывание атрибутов блоков с использованием DataExtraction API

Команда ДАННЫЕИЗВЛ (_EATTEXT) в AutoCAD позволяет извлекать данные, такие как тексты и атрибуты блока и показывать их в таблице. Вот пример кода, который использует DataExtraction API и создаёт таблицу, связывая её с данными.
Опубликовано 24.07.2015     Читать далее >>>
23/07/2015

Удаление меню из строки меню и из памяти

Вопрос:

Моё приложение создаёт меню и добавляет его используя IAcadPopupMenus.Add. Удаление его позднее при помощи RemoveMenuFromMenuBar или IAcadPopupMenu.RemoveFromMenuBar работает, но повторная попытка добавить тоже самое меню терпит неудачу. Почему и как это исправить?

Ответ:

Хотя пользовательское меню может быть удалено из строки меню после добавления, меню остаётся в памяти AutoCAD. Это можно проверить если сравнить значения IAcadPopupMenus.GetCount() до и после удаления меню – значение останется тем же, так как меню остаётся внутри коллекции меню. Пожалуйста проверьте демонстрационный код ниже: он добавляет 3 меню в первую группу меню. Запустите снова и код удалит одно меню, и сравните счетчик меню до и после удаления.

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

Исключение при вызове метода NewExtrusion - один из параметров не удовлетворяет требованиям

Иногда, при вызове метода Document.FamilyCreate.NewExtrusion возникает исключение:  Autodesk.Revit.Exceptions.ArgumentException - один из параметров не удовлетворяет требованиям.

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

Возможности API. Сервис для просмотра Viewing Service

В API есть две основные операции – создание и чтение. Обращение к методам создания модели осуществляется с помощью POST запросов, а к методам чтения, с помощью GET:

  • API для создания (Create API) предназначено для вызова генерации объекта для просмотра. В большинстве случаев при этом происходи запуск процесса извлечения данных.
  • API для чтения предназначено для вызова методов просмотра модели по заданному URN (Uniform Resource Name – Единообразное название ресурса). Существует несколько опций для вызова GET запросов – По умолчанию, Все, Статус, с помощью которых определяется что же будет возвращено в результате.
Опубликовано 19.07.2015     Читать далее >>>
18/07/2015

View and Data API. Введение

View and Data API (VDAPI) – технология, которая позволяет вам создавать пользовательские web-приложения с отображением 3D и 2D моделей прямо в браузере или на мобильном устройстве. Всегда и везде. Не требуется устанавливать никакого дополнительно ПО.

View and Data API поддерживает более 60 различных форматов файлов, которые можно просматривать в потрясающем качестве и высокой детализацией. А REST и JavaScript API позволяет легко и быстро разрабатывать web-приложения.

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

События в Fusion API

Рассматриваются события API Fusion 360
Опубликовано 17.07.2015     Читать далее >>>
16/07/2015

Преобразование из .NET в COM с использованием управляемого (Managed) C++

После выбора объекта при помощи .NET (управляемый C++), как его преобразовать в COM-объект? Сначала нужно получить IUnknow-указатель из свойства AcadObject объекта, а затем преобразовать его в COM-объект. Эта процедура позволяет вам сохранить счетчик ссылок COM объекта.

Следующий код показывает как это сделать и как получить его имя типа. Напоминаю, что нужно установить для проекта свойство Mixed mode. Это легко сделать создав проект при помощи ObjectARX Wizard и указав ему использовать .NET.

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

Получение свойств примитива в AccoreConsole

"dumpallproperties" – это простейший способ для получения все свойств примитива при помощи Lisp. Но это не работает в scr-файле в AccoreConsole. Простейший способ для получения свойств AccoreConsole - создать CRX-плагин, который использует НЕ-COM систему свойств.

Если вы еще не знакомы с НЕ-COM системой свойств, тогда почитайте статью: Перезентация (DevTV): Не-COM система свойств

Пример в этой статье использует порцию кода из предыдущей статьи для создания CRX-приложения. Вот соответствующий код, а полный пример проекта можно скачать здесь:

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

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

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

Позиционирование AcPane в статусбаре

Я получил недавно вопрос от партнера ADN о позиционировании AcPane и сейчас я покажу пример кода, который выполняет именно эту функцию.

Прежде чем перейти к коду я должен сообщить, что в отличие от предыдущих версий AutoCAD 2015 не позволяет показывать текстовые метки в статусбаре – только иконки. Ранние версии позволяли переключаться между текстовыми метками и иконками. Теперь только иконки.

Я выполнил миграцию очень старого примера по работе с статусбаром, который был в составе ObjectARX SDK 2007 до текущих AutoCAD 2014/15.

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

Выбор точки на 3DSolid при выборе примитива

Функция acedEntSel даёт возможность пользователю выбрать примитив и также позволяет получить точку, которая была указана при выборе примитива. Когда эту функцию используют с 2D-примитивом, тока возвращаемая acedEntSel очень удобна в случае если нужна информация для таких задач как РАЗОРВАТЬ (Break), ОБРЕЗАТЬ (Trim) и т.д.

Однако если acedEntSel используется с 3DSolid, точка возвращается в плоскости XY текущей ПСК вне зависимости от того где указали точку на 3DSolid. Если включена объектная привязка (OSNAP) при выборе примитива, тогда точка будет на поверхности 3DSolid. Если важно получить точку на 3DSolid, которая использовалась при выборе объекта именно при помощи кода, то можно использовать следующий алгоритм:

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

Как получить формат файла для сохранения по-умолчанию

Я недавно получил вопрос от партнера ADN о возможности получить формат файла по-умолчанию для сохранения файла при помощи API или команды. Я не уверен можно ли это сделать командными методами, но вот небольшой пример как это сделать при помощи API.
Опубликовано 02.07.2015     Читать далее >>>
29/06/2015

Настройка пользовательского интерфейса Fusion 360 при помощи Fusion API - Часть 2

Обсуждается настройка существующего пользовательского интерфейса Fusion.
Опубликовано 29.06.2015     Читать далее >>>