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

21/08/2016

Определение shx-файла, используемого в типе линии

Если тип линии использует shx-файл, то он ссылается на TextStyleTableRecord. Вот пример, который печатает имя shx-файла, который используется в типе линии ЗИГЗАГ (ZIGZAG).

Опубликовано 21.08.2016     Читать далее >>>
20/08/2016

Как перенести примитив из одного блока в другой

Можно использовать метод AssumeOwnershipOf для изменения владельца примитивов. Используя этот метод вы можете назначить владельцем примитивов любой блок. Это наиболее эффективный метод для переноса примитивов из одного блока в другой.

Опубликовано 20.08.2016     Читать далее >>>
19/08/2016

Значение координаты Z в строку текста

>Поступила мне тут просьба - в файле dwg есть большое (около 1000) объектов TEXT и MTEXT, у которых изменена точка вставки по оси 0z. В эти объекты надо "вбить" значение их высоты с точностью до 2 знаков после запятой.
Опубликовано 19.08.2016     Читать далее >>>
04/08/2016

AutoCAD 2017 Service Pack 1 механизм Автозагрузки

AutoCAD 2017 Service Pack 1 механизм Автозагрузки

AutoCAD 2017 Service Pack 1 вносит ошибку, которая не позволяет AutoCAD автоматически загружать приложения.

Для исправления этой ошибки мы создали Исправление для AutoCAD 2017 Service Pack 1. Пожалуйста загрузите и установите его отсюда.

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

Как добраться до настроек экспорта в DWG

Как известно, модель Revit можно экспортировать в DWG формат. Но перед экспортом нам нужно задать настройки этого самого экспорта. Собственно, вопрос – как можно получить эти настройки?

Опубликовано 29.07.2016     Читать далее >>>
28/07/2016

AutoCAD 2017 SP1 и отладка .NET приложений

Вышел Пакет обновлений 1 (SP1) для AutoCAD 2017. Для его загрузки перейдите сюда. Одно из важных улучшений - отладка .NET приложений в AutoCAD 2017 SP1 с использованием Visual Studio 2015. До сих пор разработчикам приходилось использовать обходной путь, как было сказано в статье Отладка AutoCAD 2017 с использованием Visual Studio 2015. Теперь же начиная с AutoCAD 2017 SP1 потребность в этом обходном пути отпала. Теперь вы можете даже воспользоваться возможностями Edit & Continue (Редактировать и продолжить) при отладке.
Опубликовано 28.07.2016     Читать далее >>>
27/07/2016

Обновление Revit Lookup для версии 2017

Опубликовано 27.07.2016     Читать далее >>>
27/07/2016

Поиск проемов в стене

Вопрос: Я пытаюсь получить с помощью API проемы в стене. Меня в частности интересует координаты прямоугольного проема.

 

Я попытался использовать метод FindInserts(), но он не возвращает проемы.

Есть ли решение этой проблемы?

Опубликовано 27.07.2016     Читать далее >>>
27/07/2016

Чтение иерархии связанных файлов

Для чтения иерархии нужно поиграться со методами GetParentId и GetChilds, чтобы построить иерархию. Также есть метод GetRootId, но он в данном случае он не используется.

Опубликовано 27.07.2016     Читать далее >>>
27/07/2016

Руководство по полям oAuth API Autodesk Forge

Рассматриваются особенности полей oAuth API Autodesk Forge
Опубликовано 27.07.2016     Читать далее >>>
26/07/2016

Загрузка и выполнение VBA-макроса из .NET приложения

Код ниже показывает процедуру загрузки и выполнения VBA-макроса из .NET сборки. Здесь используются методы LoadDVB и RunMacro из AutoCAD ActiveX API. Так как код использует ключевое слово dynamic (или Reflection), то отпадает необходимость подключать ссылки к AutoCAD ActiveX (interop) модулям.

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

Основы oAuth API Autodesk Forge - часть 2

Общие сведения об аутентификации и потоках авторизации
Опубликовано 25.07.2016     Читать далее >>>
22/07/2016

Добавление полей к атрибутам блока, вставленными в пространство модели

Вот статья, которая объясняет, как вставить блок с атрибутами.

Ниже C#-код, вставляющий поле (field) в атрибут блока. Создайте чертеж с блоком с именем "test" содержащий окружность (Circle) и определение атрибута с произвольным именем для тестирования кода.

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

Выгрузка и загрузка PDF-подложек

Следующий код показывает как выгрузить (загрузить) все PDF-подложки. Для того, чтобы они исчезли (появились) необходима регенерация всех вставок PDF в чертеже. Для получения всех PDF-вставок используется метод PdfDefinition.GetPersistentReactorIds.
Опубликовано 21.07.2016     Читать далее >>>
21/07/2016

Как определить направление взгляда для пространста модели с помощью AutoLISP/VisualLISP

Иногда спрашивают, каким образом можно поределить направление взгляда для определенного видового экрана пространства модели. Я обнаружил, что сделать это только средствами LISP'a сложно. Под словом "сложно" подразумевается тот факт, что найти решение без переключения систтемной переменной TILEMODE не удалось. Может быть, кому-то оно и известно - тогда добро пожаловать в обсуждение.
Опубликовано 21.07.2016     Читать далее >>>
21/07/2016

Как вставить блок с атрибутами в пространство модели

Определение блока содержится в BlockTableRecord. Если у блока есть атрибуты, то они содержатся в BlockTableRecord как AttributeDefinition – точно также как и любые другие примитивы.

Когда мы вставляем блок в чертеж (точнее в пространство модели), то мы вставляем BlockReference. Если у блока есть атрибуты, то для всех (кроме постоянных) AttributeDefinition в BlockTableRecord имеются соответствующие AttributeReference присоединённые к BlockReference. Постоянные атрибуты обрабатываются не так, потому что их текст одинаков во всех вставках этого блока (во всех BlockReference). Они находятся в BlockTableRecord, и не имеют соответствующих AttributeReference присоединённых к BlockReference.

Ниже простой C#-код для вставки блока с атрибутами в пространство модели. Создайте чертеж, содержащий блок с именем “CHECK” содержащий несколько атрибутов (часть постоянных, часть нет) для проверки кода.

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

Как получить имя локализации с помощью ObjectARX

В ObjectARX SDK есть класс AcLocale, при помощи которого можно получить информацию о языке локализации AutoCAD. Класс AcLocale появился только в версии 2017.

Опубликовано 21.07.2016     Читать далее >>>
20/07/2016

LISP. Получение строковых значений при активном динамическом вводе

Представим себе ситуацию - в lisp-программе необходимо получить от пользователя некоторые данные. Не будем сейчас рассматривать экзотические способы вроде написания временных диалогов или обращения к WScript - обойдемся стандартными get*-функциями.
Опубликовано 20.07.2016     Читать далее >>>
16/07/2016

Как определить был ли сохранён dwg-файл в ПО Autodesk или нет

Класс AcDbDatabase содержит метод dwgFileWasSavedByAutodeskSoftware для определения того был ли сохранён dwg-файл в ПО Autodesk или нет. Аналогично в AutoCAD .NET API в классе Database есть свойство DwgFileWasSavedByAutodeskSoftware.
Опубликовано 16.07.2016     Читать далее >>>
16/07/2016

Как позволить пользователю прервать длительную операцию в AutoCAD .NET

Если у вас запущена длительная операция, то вам может понадобится возможность прервать эту операцию (при помощи клавиши ESC). Следующий код работал в AutoCAD 2007…2009, но он продолжает по-прежнему исправно работать и в AutoCAD 2017.
Опубликовано 16.07.2016     Читать далее >>>