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

19/02/2014

Идеология версий API PLM 360

Описывается логика смены версий и длительность поддержки устаревающих версий
Опубликовано 19.02.2014     Читать далее >>>
19/02/2014

Лёгкое программирование под Autodesk Vault. Часть 2Автор: Дмитрий Емельянов

Что такое Vault API
Опубликовано 19.02.2014     Читать далее >>>
19/02/2014

Создаем копию текущего документа в новом документе.

Вопрос:
Как можно создать точную копию текущего документа в новом документе?

Решение:
Одно из решений – сначала создание временного файла-шаблона из текущего файла, а затем создание нового чертежа из этого шаблона. Затем шаблон можно удалить. Вот шаги, которые последовательно нужно проделать:

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

Разделение на страницы в PLM 360

Рассматриваются особенности отображения запрошенной информации на страницах
Опубликовано 17.02.2014     Читать далее >>>
17/02/2014

Как оставить видимыми элементы Ленты во время выполнения?

AutoCAD API для работы с Лентой - достаточно удобен для настройки интерфейса. Однако изменения в интерфейсе не являются постоянными. Это значит, что есть ситуации когда требуется дополнительный код для того, чтобы элементы Ленты, созданные через этот API, оставались видимыми: обычно это при переключении Рабочего пространства или когда что-то изменено в командах НПИ (_CUI) и БЫСТРНПИ (_QUICKCUI).

Вот как можно оставить эти элементы видимыми и убедиться, что ваша Лента остается видимой.

Опубликовано 17.02.2014     Читать далее >>>
15/02/2014

Подавление команд AutoCAD

Метод acedRegCmds->removeCmd(), работает только с командами, зарегистрированными из ARX приложения. Этим способом нельзя отменить встроенные команды AutoCAD. Команда AutoCAD _UNDEFINE предназначена именно для подавления встроенных команд. Так как после команд _OPEN и/или _NEW команды переопределяются AutoCAD’ом, необходимо вызывать команду _UNDEFINE каждый раз, когда AutoCAD посылает уведомление kLoadDwgMsgвашей программе.
Опубликовано 15.02.2014     Читать далее >>>
14/02/2014

Два различных типа соединений элементов

В Revit очень много элементов имеют взаимосвязь друг с другом.

Мы уже ранее затрагивали пару раз тему работы с объединением элементов:

Опубликовано 14.02.2014     Читать далее >>>
13/02/2014

Как реализовать Windows хук с использованием acedRegisterFilterWinMsg в .NET

Имеется возможность установить хук для сообщений Windows, который на низком уровне перехватывает события в системе, которые производят большинство действий, таких как движение мыши или открытие диалога.

Внутри AutoCAD есть специальный метод для этой цели, который не пересекается со встроенными возможностями Windows, но имеет похожие возможности: acedRegisterFilterWinMsg

Опубликовано 13.02.2014     Читать далее >>>
13/02/2014

Чтение элементов в рабочем пространстве

Рассматривается два основных способа получения элементов в рабочем пространстве
Опубликовано 13.02.2014     Читать далее >>>
12/02/2014

Обработка ошибки при создании не валидного элемента с помощью Failure API

Мы уже ранее обсуждали примеры использования Failure API:

Вот еще одна немного запутанная ситуация, заставляющая нас снова вернуться к обсуждению этой темы с другого ракурса. Проблему озвучил Стефен Фауст (Stephen Faust) из компании Revolution Design, Inc.

Опубликовано 12.02.2014     Читать далее >>>
12/02/2014

Связь надстройки Vault Add-in в AutoCAD 2014

Возможно, вы хотели бы получить подключение к серверу Vault из надстройки Vault Add-in в AutoCAD 2014. В статье приведен пример на VB.NET, который проделывает эту операцию. Пожалуйста, имейте в виду, что этот подход не проходил ни через никакие системы проверки качества (QA) и официально не поддерживается. Тем не менее, в тестах он работает.

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

Использование стандартных диалогов AutoCAD для выбора цвета, типа линии, веса линии в .NET

AutoCAD имеет ряд удобных диалоговых окон, доступных в пространстве имен "Autodesk.AutoCAD.Windows". Следующий код показывает, как использовать три из них, в частности: ColorDialog, LinetypeDialog и LineWeightDialog. Эти три класса позволяют очень легко реализовать пользовательский интерфейс выбора соответствующих свойств.
Опубликовано 11.02.2014     Читать далее >>>
11/02/2014

Внутренние имена функций в утилите DependencyWalker

Утилита Dependency Walker, доступная www.dependencywalker.com, является “бесплатной утилитой, которая (…) выводит список всех функций, которые экспортируются модулем, и которые могут вызываться другими модулями”.

Для нас это представляет интерес для программирования AutoCAD так как некоторые API недоступны и/или недокументированы, но экспортируются из кода на C++. В этом случае в .NET для вызова этого кода нужно воспользоваться атрибутом DllImport.

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

Свойства VDF на стороне клиента

В статье рассматриваются интересные возможности VDF: клиентские свойства, с которыми - в отличии от серверных - вы вряд ли знакомы
Опубликовано 11.02.2014     Читать далее >>>
11/02/2014

Используйте | "OR" с DefaultAcquisitionOption для скачивания и получения при помощи AcquireFiles

Любопытная недокументированное возможность функции скачивания файла Vault SDK
Опубликовано 11.02.2014     Читать далее >>>
08/02/2014

Удаление неиспользуемых опорных плоскостей

Как-то во время проведения тренинга по Revit API, участники тренинга придумали вопрос, решение которого можно использовать для демонстрации использования FilteredElementCollector. В результате получилось вполне полезная команда. Необходимо было удалить все опорные плоскости, которые не содержат ни одного элемента. Так я создал команду DeleteUnnamedNonHostingReferencePlanes.

Команда удаляет из проекта все опорные плоскости, которые не имеют названия и не содержат ни одного элемента.

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

Программное определение дублированных имен .NET команд

Неприятен факт связанный с атрибутом CommandMethod в AutoCAD .NET сборке: в нем может быть две разных команды имеющих одно имя но разные методы. Например, как в следующем коде:
Опубликовано 07.02.2014     Читать далее >>>
05/02/2014

Настройки видимости с использованием параметра GEOM_VISIBILITY_PARAM

В статье обсуждается полезный и интересный пример с форума Revit API, в котором принимали участие  Remy van den Bor из компании ICN Solutions, Rudolf Honke из Mensch und Maschine acadGraph, а также Joe Ye и команда разработчиков Revit. В теме обсуждалось как можно задать настройки видимости элемента в редакторе семейств.

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