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

10/11/2013

Как определить месторасположение элемента из связанного файла в системе координат основного файла

Вопрос: Я все воюю со связанными файлами в Revit 2014.

Я прочитал статью Как вывести список элементов из связанного файла (на англ.) и она мне действительно очень помогла.

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

Скажем, есть у меня связанный файл, в котором находится только одна стена. В этом файле стена располагается в точке 100;100;0.

В основном файле, я поместил эту стену в точку 300;100;0.

Мне нужно определить расположение стены из связанного файла внутри основного файла. То есть я хочу получить координаты 300;100;0.

Как можно это сделать?

Опубликовано 10.11.2013     Читать далее >>>
09/11/2013

Предотвращение удаления примитива

Один из путей для предотвращения удаления примитива – это использование объектного переопределение (overrule). При помощи этого переопределения можно переопределить функционал удаления (“Erase”) таким образом, что примитив нельзя будет удалить.
Опубликовано 09.11.2013     Читать далее >>>
07/11/2013

Использование .NET API для добавления и удаления расширенных данных

Чтение/запись свойства XData экземпляра класса Autodesk.AutoCAD.DatabaseServices.DBObject используется для чтения и установки расширенных данных любого объекта из базы чертежа. Этот пример демонстрирует тоже самое для примитива..
Опубликовано 07.11.2013     Читать далее >>>
06/11/2013

Сыграем в крестики-нолики в Autodesk Inventor под Autodesk Vault?Автор: Дмитрий Емельянов

Каким образом обучение конечного пользователя можно сделать менее болезненным и более прозрачным? Конечно, превратив обучение в игру!

Иногда требуется довольно длительное время для того, чтобы пользователь набил руку в операции получения/возврата. Либо администратору необходимо обкатать жизненный цикл или пользовательское взаимодействие на конкретной сборке.

Опубликовано 06.11.2013     Читать далее >>>
06/11/2013

Переопределение точек привязки для вставки блока

При переопределении точек привязки примитива BlockReference, мы можем хотеть отключить все остальные точки привязки, в том числе и те, которые получаются из примитивов, составляющих блок. Для этой цели мы переопределяем метод "IsContentSnappable" класса "OsnapOverrule".

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

Опубликовано 06.11.2013     Читать далее >>>
04/11/2013

Удаление вершин 3D-полилинии

Следующий код показывает, как можно удалить указанную вершину у 3D-полилинии. Сначала программа проходится по всем вершинам полилинии и создаёт список вершин для удаления.

Опубликовано 04.11.2013     Читать далее >>>
02/11/2013

Редактирование по месту файлов внешних ссылок

Код ниже показывает процедуру редактирования файла внешней ссылки. Для этой цели используется класс “XrefFileLock”, который обрабатывает управление блокировкой файлов внешних ссылок:

Опубликовано 02.11.2013     Читать далее >>>
31/10/2013

Управление видимостью Точки в AutoCAD

Системная переменная “PDMODE” управляет отображением примитива Точка в AutoCAD. Эта переменная может иметь значения между 0 и 5, между 32 и 36, между 64 и 68 и между 96 и 100. Это значение можно изменить меняя свойство “Pdmode” для Database.

Опубликовано 31.10.2013     Читать далее >>>
29/10/2013

Хранение пользовательских конфигураций вкладок в Vault

В ряде случаев возникает необходимость централизованного хранения конфигурации пользовательских настроек вкладок. Стандартный способ – это работа через Vault Option. Основная проблема в том, что пользовательские вкладки регистрируются до подключения Vault Explorer к Vault. Так как быть с настройкой пользовательских вкладок или команд, если невозможно прочитать Vault Option?

Решение довольно простое – достаточно вывести уведомление о необходимости перезапуска Vault Explorer. Этот метод работает для пользовательских команд, вкладок и обработчиков пользовательских объектов.

Так, например, Vault Web View имеет дело с двумя копиями конфигурационных настроек. Одна хранится локально в виде XML-файла в том же каталоге, что и DLL расширения. Другая копия представлена в виде данных, которые расположены в Vault Option. Когда Vault Web View настраивает вкладки, он производит эту операцию на основании локального файла настроек.

Опубликовано 29.10.2013     Читать далее >>>
29/10/2013

Использование пользовательских данных чертежа в полях

.NET/ObjectARX API позволяет использовать пользовательские свойства в полях. Следующий код показывает, как это сделать на примере пользовательского свойства Адрес (“Address”).

Опубликовано 29.10.2013     Читать далее >>>
26/10/2013

Зеркальное отображение примитива однострочного текста (DBText)

Некоторое время назад, когда этого блога еще не было, был написан следующий .NET код для отзеркаливания однострочного текста (DBText), чтобы решить один из запросов от члена AND. Через какое-то время снова возникла необходимость в этом коде. Вы сами сможете увидеть, что он не так прост, как могло бы показаться:

Опубликовано 26.10.2013     Читать далее >>>
26/10/2013

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

Ниже приведен пример кода, который выравнивает выбранный примитив по трем базовым и трем целевым точкам. Порядок, в котором точки выбираются, показан на картинке. Приведен пример чертежа для проверки кода.

Опубликовано 26.10.2013     Читать далее >>>
24/10/2013

Добавление поля, содержащего данные другого примитива

Следующий код показывает как можно добавить поле, которое показывает данные другого примитива (в данном случае площадь полилинии). От пользователя требуется выбрать полилинию и местоположение, в котором создается примитив MText. Этот MText и будет показывать площадь выбранной полилинии.

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