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

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     Читать далее >>>
27/06/2015

Чтение таблицы ASHRE

В Revit MEP мы можем получить Настройки метода определения потерь в виде ASHRE таблицы. Но, проблема в том, что эта таблица не доступна напрямую, так как она не прикреплена к элементу. Вопрос в том, как получить доступ к информации, предоставленной ниже на скриншоте:

 

Опубликовано 27.06.2015     Читать далее >>>
27/06/2015

Создание пользовательских команд Fusion - Часть 3

Рабочий процесс команды
Опубликовано 27.06.2015     Читать далее >>>
26/06/2015

Загрузка DVB и запуск макроса VBA при помощи AutoCAD COM API в ObjectARX

Вопрос:
Как я могу загрузить dvb-файл и выполнить макро при помощи AutoCAD COM интерфейса?

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

Опубликовано 26.06.2015     Читать далее >>>
26/06/2015

Отсутствие PipeScheduleType в файле шаблона rte

Я столкнулся со странной проблемой в Revit 2015. В файле проекта, созданного с помощью шаблона, присланного от клиента, полностью отсутствуют PipeScheduleType (Спецификация/Тип). Я имею ввиду, что свойство  PipeType.Class всегда равно null, даже если в документе определены сегменты труб.

 

Опубликовано 26.06.2015     Читать далее >>>
26/06/2015

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

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

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

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

Создание пользовательских команд Fusion - Часть 2

Командные входы
Опубликовано 25.06.2015     Читать далее >>>
24/06/2015

Создание пользовательских команд Fusion - Часть 1

Рассматриваются особенности создания команд Fusion 360
Опубликовано 24.06.2015     Читать далее >>>
23/06/2015

Использование метода Transform.CreateRotationAtPoint

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

Опубликовано 23.06.2015     Читать далее >>>
23/06/2015

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

Рассматривается очистка команд и иконки
Опубликовано 23.06.2015     Читать далее >>>
19/06/2015

Обновление утилиты для создания кнопок на лентеАвтор: Виктор Чекалин

В прошлом году я писал об утилите, с помощью которое процесс создания кнопок на ленте для вызова команд гораздо упрощается.

Сегодня я добавил в нее несколько полезных дополнений.

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

Надстройки Fusion 360

Рассматриваются особенности создания надстроек в Fusion 360
Опубликовано 17.06.2015     Читать далее >>>
17/06/2015

Получение образцов, текстов и форм, используемых в типах линий

Как вам возможно уже известно, тип линии в AutoCAD состоит из серий значений, представляющих образцы, которые могут содержать тексты и формы. Ниже пример кода, который проходится по типам линий, загруженным в базу и показывающий их определения. В случае вложенных форм создаются формы в Пространстве Модели.
Опубликовано 17.06.2015     Читать далее >>>