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

28/02/2017

Мониторинг изменения рабочего пространства

Если вам нужно отслеживать переключения рабочего пространства (например, в случае если вы используете Ribbon Runtime API для добавления элементов управления в Ленту), то вам достаточно отслеживать изменение системной переменной WSCURRENT
Опубликовано 28.02.2017     Читать далее >>>
28/02/2017

Как запретить выполнение конкретной команды AutoCAD

Вы можете запретить выполнение команды внутри события “DocumentCollection.DocumentLockModeChanged”. Это событие вызывается сразу перед тем как AutoCAD начнёт выполнение этой команды. Посмотрите как можно запретить завершение работы AutoCAD.

Опубликовано 28.02.2017     Читать далее >>>
17/02/2017

Как получить данные кнопки, которая запускает командуАвтор: Виктор Чекалин

Пользователь Legantmar на форуме задал интересный вопрос, можно ли получить название кнопки, по нажатию которой была вызвана команда.

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

Пример SubEntity из ObjectARX SDK 2009 для версии 2017Автор: Александр Ривилис

Вопрос: В ObjectARX SDK 2009 имелся пример SubEntity, который демонстрирует возможность работы с подобъектами, добавление их свойств в Панель свойств (OPM) и т.д. К сожалению этот пример не входит в состав ObjectARX SDK версий позднее 2009-ой. Можно ли его адаптировать к версии ObjectARX SDK 2017?

Ответ: Этот пример, адаптированный для ObjectARX SDK 2013, привёл Balaji Ramamoorthy здесь

Мне оставалось адаптировать его для ObjectARX SDK 2017. Результат работы можете посмотреть здесь: SubEntity2017.zip

Опубликовано 07.02.2017     Читать далее >>>
02/02/2017

Как реализовать PlotSettingsValidator.SetClosestMediaName в .NET

Комментарий в документации о методе "PlotSettingsValidator.SetClosestMediaName" гласит:

"Эта функция не реализована."

Ниже предложение того, как можно реализовать этот метод в C# используя AutoCAD .NET API:

Опубликовано 02.02.2017     Читать далее >>>
21/01/2017

Печать границ окна при помощи VBA

Я получил вопрос от партнера ADN почему его код, который печатает содержимого окна в действительности ничего не печатает, а для других чертежей печатает нормально.

Ключевая проблема в том что API для печати принимает координаты в системе координат дисплея DCS (ДСК). Так что координаты указанные пользователем следует преобразовать из ПСК (UCS) в ДСК (DCS).

Опубликовано 21.01.2017     Читать далее >>>
21/01/2017

Как определить, что мы находимся в контексте печати

Недавно я получил ряд запросов от разработчиков как идентифицировать состояние печати в overrule. Чтобы идентифицировать это состояние используем “Context.IsPlotGeneration” как показано ниже в коде:

Опубликовано 21.01.2017     Читать далее >>>
21/01/2017

Изменения в методе AcadAppInfo::writeToRegistry в AutoCAD 2017

В AutoCAD 2017 в методе AcadAppInfo::writeToRegistry, параметры Boolean удалены. Это потому что нет гарантии, что AutoCAD запущен с соответствующими привилегиями для записи в Local Machine, что всегда проблематично через API. Теперь writeToRegistry работает аналогично writeToRegistry(false, true) в AutoCAD 2016. (Пишем для текущего пользователя в секцию AutoCAD).

Опубликовано 21.01.2017     Читать далее >>>
21/01/2017

AecModeler и AutoCAD 2017 Service Pack 1

В hideDisplay API класса Body в AecModeler для AutoCAD 2017 есть проблемы. Ниже обновленный модуль.

AecModeler для AutoCAD 2017 SP1

Опубликовано 21.01.2017     Читать далее >>>
21/01/2017

Стили строк и ячеек таблицы

Каждая строка и ячейка в таблице может иметь свой стиль. Вы можете получить или задать стиль, используя свойство CellRange.Style. Смотрите код ниже:

Опубликовано 21.01.2017     Читать далее >>>
17/01/2017

Fusion API: Атрибут возвращает NONE для грани, к которой был присоединён атрибут

Рассматриваются особенности получения атрибутов граней в сборках
Опубликовано 17.01.2017     Читать далее >>>
16/01/2017

Пути по умолчанию для загрузки надстроек Fusion

Рассматриваются особенности путей размещения надстроек Autodesk Fusion
Опубликовано 16.01.2017     Читать далее >>>
13/01/2017

Основы Data Management API - Производные и эскизы, ошибки

Рассматриваются особенности производных и эскизов, ошибки
Опубликовано 13.01.2017     Читать далее >>>
12/01/2017

Основы Data Management API - Аутентификация и области применения, фильтрация

Рассматриваются особенности аутентификации, областей применения, и фильтрация запросов
Опубликовано 12.01.2017     Читать далее >>>
10/01/2017

Основы Data Management API - Пользовательские отношения

Рассматриваются особенности пользовательских отношений
Опубликовано 10.01.2017     Читать далее >>>
09/01/2017

Основы Data Management API - Типы расширений

Рассматриваются особенности типов расширений
Опубликовано 09.01.2017     Читать далее >>>
06/01/2017

Основы Data Management API - Object Storage Service (OSS)

Рассматриваются особенности Object Storage Service (OSS)
Опубликовано 06.01.2017     Читать далее >>>
27/12/2016

Использование атрибута JournalingAttributeАвтор: Виктор Чекалин

Андрей Бушман задал интересный вопрос по использованию атрибута JournalingAttribute и свойству JournalMode. Какой-либо информации по их назначению не нашлось, добираться до истины пришлось самому.

Вот что мне удалось выяснить, после небольшого анализа.

Опубликовано 27.12.2016     Читать далее >>>
26/12/2016

Как можно создать фильтр, содержащий все типы кривых в чертежеАвтор: Александр Ривилис

Вопрос: Мне нужно дать возможность пользователю выбирать любые типы кривых - все типы полилиний, сплайны, дуги и т.д., и в том числе и пока неизвестные пользовательские кривые… Как это можно сделать?

Ответ: Для этой цели следует проанализировать SystemObjects.ClassDictionary, найти все классы-наследники класса Curve и получить их DXF-коды. Ниже приведен код, который реализует этот алгоритм:

Опубликовано 26.12.2016     Читать далее >>>
25/12/2016

Графическое отображение границ зоны

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

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

Поэтому я реализовал небольшую команду DisplayBoundary для отображения границы. В ней перебираются все сегменты границы выбранных зон или всех зон в модели и с помощью линий модели рисуется каждый сегмент.

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