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

05/08/2017

В AutoCAD 2018.1 метод UpgradeOpen приводит к фатальной ошибке внутри транзакцииАвтор: Александр Ривилис

Вопрос: Я обнаружил, что если использовать метод UpgradeOpen внутри транзакции, в которой этот объект открыт для чтения, то это приводит к фатальной ошибке. Пример кода, приводящий к такой ошибке:

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

Метод setCutPlanes Forge Viewer

Рассматриваются особенности метода setCutPlanes Forge Viewer
Опубликовано 02.08.2017     Читать далее >>>
01/08/2017

Метод getBulkProperties

Рассматриваются особенности пакетного получения свойств в Forge Viewer
Опубликовано 01.08.2017     Читать далее >>>
25/07/2017

vl-cmdf, command, command-s и возвращаемые значения

Насколько я помню, в 2015 версии прошло такое очень интересное обновление, касающееся возвращаемого значения vl-cmdf и command.
Опубликовано 25.07.2017     Читать далее >>>
10/07/2017

Как проверить средствами .NET имеется ли в типе линии текст или нет

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

Чтобы получить текст из типа линии можно воспользоваться методом LinetypeTableRecord.TextAt, но он генерирует исключение eNotApplicable если текста нет в переданном индексе типа линии. Чтобы исключить генерацию исключения можно проверить на ObjectId.Null значение, которое возвращает LinetypeTableRecord.ShapeStyleAt. Этот метод возвращает ObjectId.Null если нет текста в указанном индексе в LinetypeTableRecord.

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

Передача результатов расчетов Wolfram|One в Autodesk Fusion 360Автор: Дмитрий Емельянов

Рассматриваются возможности интеграции Fuson 360 с Wolfram|Alpha
Опубликовано 01.07.2017     Читать далее >>>
29/06/2017

Как установить ось Z ПСК вдоль линии в .NETАвтор: Александр Ривилис

Вопрос: Имеются различные линии в AutoCAD (отрезки, полилинии, сплайны). Как можно установить ось Z текущей ПСК вдоль линии в указанной пользователем точке?

Ответ: Ниже приведён код, который позволяет установить ось Z ПСК вдоль выбранной пользователем линии. В качестве начала координат ПСК выбирается точка на линии, ближайшая к указанной пользователем точке:

Опубликовано 29.06.2017     Читать далее >>>
14/06/2017

История изменений AutoLISP начиная с AutoCAD2009

В справке AutoCAD2018 есть замечательная статья о новых и измененных функция AutoLISP.
Опубликовано 14.06.2017     Читать далее >>>
31/05/2017

Как получить каноническое имя формата листа для локального имени формата?Автор: Александр Ривилис

Вопрос: Пользователь в команде ПЕЧАТЬ (_PLOT) выбирает формат листа по его локальному имени, а в программе для печати следует задавать каноническое имя формата. Как можно получить соответствие между локальным и каноническим именами формата?

Ответ: Ниже приведен код на VBA, реализующий преобразование локального имени в каноническое. Основное преобразование происходит в функции GetCanonicalFromLocalName.

Опубликовано 31.05.2017     Читать далее >>>
30/05/2017

Отображение анимации и содержимого CAM

Рассматриваются особенности отображения дополнительных моделей и представлений
Опубликовано 30.05.2017     Читать далее >>>
03/05/2017

Как получить список доступных плоттеров/форматов в AutoCAD?Автор: Александр Ривилис

Как получить список доступных плоттеров/форматов в AutoCAD?

Вопрос: Как получить список доступных плоттеров в AutoCAD и список канонических имён форматов для каждого из доступных плоттеров?

Ответ: Для получения списка доступных плоттеров нужно воспользоваться методом PlotSettingsValidator.GetPlotDeviceList, а для получения канонических имён форматов – PlotSettingsValidator.GetCanonicalMediaNameList

Ниже пример того, как можно выбрать только плоттеры, в имени которых есть строка «PDF», и получить список канонических имён их форматов:

Опубликовано 03.05.2017     Читать далее >>>
28/04/2017

Получение данных ячейки таблицы AutoCAD с помощью Design Automation API

Рассматривается пример работы с Autodesk Forge Design Automation API
Опубликовано 28.04.2017     Читать далее >>>
18/04/2017

Правильный способ получения списка пользовательских папок при помощи DataManagement API

Рассматриваются особенности получения списка папок для пользователей без прав администратора
Опубликовано 18.04.2017     Читать далее >>>
17/04/2017

Простой пример 2-legged службы

В статье рассматривается пример создания службы, предоставляющей токен с правами только для чтения на Node.JS
Опубликовано 17.04.2017     Читать далее >>>
14/04/2017

Защита токена Forge Viewer при помощи прокси-сервера

Эта статья иллюстрирует спосооб укрепления безопасность вашего приложения Forge Viewing Application при помощи прокси-сервера, чтобы избежать передачи токена в клиентский код JavaScript.
Опубликовано 14.04.2017     Читать далее >>>
07/04/2017

Включение поддержки https для локального nodejs

Рассматриваются особенности настройки https для локального nodejs при тестировании проектов по Autodesk Forge
Опубликовано 07.04.2017     Читать далее >>>
03/04/2017

Возобновляемая загрузка файла при помощи Forge SDK на C#

Рассматривается выгрузка файлов частями при помощи Forge SDK на C#
Опубликовано 03.04.2017     Читать далее >>>
02/04/2017

Миграция кода для использования пакета npm forge-apis

Рассматриваются особенности перехода на модуль npm forge-apis
Опубликовано 02.04.2017     Читать далее >>>
29/03/2017

Как получить имя примитива из Панели свойств?Автор: Александр Ривилис

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

Вопрос: В панели свойств есть название примитива, который находится в наборе предварительного выбора (pickfirst):

Это название – локализованная строка. Например, в русской локализации – Дуга, в английской – Arc. Как можно имея идентификатор AcDbObjectId этого примитива узнать его имя?

Ответ: Ниже приводится полный код, который печатает имя выбранного примитива:

Опубликовано 29.03.2017     Читать далее >>>
23/03/2017

Определение внешних ссылок, требующих обновленияАвтор: Александр Ривилис

Определение внешних ссылок, требующих обновления

Вопрос: Как определить, что в чертеже есть внешние ссылки, которые требуют обновления?

Ответ: Это возможно только в том случае, когда системная переменная XREFNOTIFY отлична от 0 (в противном случае AutoCAD не отслеживает изменение внешних ссылок и не уведомляет об изменениях).

Для получения информации об изменившихся внешних ссылках следует пробежаться по графу внешних ссылок и найти те, статус (XrefNotificationStatus) которых равен ResolvedUpdateAvailable

Код может выглядеть так:

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