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

14/11/2015

Установка стандартных параметров сохранения в AutoCAD

Вы можете воспользоваться ActiveX API “IAcadPreferencesOpenSave.SaveAsType” для установки стандартных параметров сохранения. Перечисление “AcSaveAsType” даёт множество вариантов для сохранения, которые могут быть установлены при помощи IAcadPreferencesOpenSave.SaveAsType. Следующий код показывает как использовать “SaveAsType” API в VB.NET
Опубликовано 14.11.2015     Читать далее >>>
14/11/2015

Особенности, характерные для JavaScript - Часть 2

Особенности, Fusion 360 API, характерные для JavaScript: ссылочные аргументы, типы объектов, события
Опубликовано 14.11.2015     Читать далее >>>
13/11/2015

Особенности, характерные для JavaScript - Часть 1

Особенности, Fusion 360 API, характерные для JavaScript
Опубликовано 13.11.2015     Читать далее >>>
12/11/2015

Как получить доступ и изменить свойства динамического блока в ARX и .NET

Вопрос:

У моего динамического блока есть свойство "Visibility", которое может быть в двух состояниях. Как мне получить доступ к этому свойству и изменить его?

Ответ:

Запустите следующий код с присоединённым в конце статьи чертежом. Выберите вставку динамического блока, код получит доступ к свойству Visibility и изменит его состояние. Вы сможете сразу увидеть результат после завершения работы кода.

Опубликовано 12.11.2015     Читать далее >>>
10/11/2015

Создание таблицы с содержимым только для чтения

Содержимое таблицы можно сделать с признаком «только для чтения» если установить соответствующее состояние ячейкам таблицы.

Следующий код создаёт таблицу с ячейками, которым установлено состояние "AcDb::kCellStateContentReadOnly"

Опубликовано 10.11.2015     Читать далее >>>
07/11/2015

Клонированный видовой экран есть, но невидим в только что созданном листе

Вопрос:

Имеется лист "Лист1" с видовым экраном "vp" в нём. Я хочу скопировать этот видовой экран при помощи ObjectARX (метод deepCloneObjects) в существующий, но пока не открытый лист "Лист2" этого же dwg-файла. Но скопированный в "Лист2" видовой экран невидим и не может быть выбран и найден ни при помощи команды СПИСОК (_LIST), ни каким другим способом.

Если же "Лист2" уже был хоть раз открыт перед копированием vp (даже без заполнения информации в диалоговом окне "Параметры листа"), всё работает прекрасно и vp прекрасно виден после перехода в "Лист2".

Что не так?

Опубликовано 07.11.2015     Читать далее >>>
05/11/2015

Копирование размерных стилей между чертежами при помощи C#

Этот пример показывает, как использовать метод WblockCloneObjects для копирования объектов между чертежами – в данном случае это набор размерных стилей. Он так же демонстрирует малоизвестный метод для получения последних (до 6 штук) использованных размерных стилей – GetDimRecentStyleList (по крайней мере, я раньше не натыкался на него).

Небольшое замечание. Распространенная ошибка многих людей для клонирования DBObjects использовать метод Clone. Его следует использовать осторожно, так как он производит лишь «поверхностное» копирование. В зависимости от того, зачем вам нужны клоны как правило лучше использовать WblockClone или DeepClone вместо обычного Clone.

Опубликовано 05.11.2015     Читать далее >>>
03/11/2015

Преобразование геометрических объектов в примитивы AutoCAD

Очень часто вы работаете с геометрическими объектами (экземплярами классов AcGeXXXX) для выполнения некоторых геометрических операций в 2D или в 3D. Для преобразования их в примитивы, которые могут быть добавлены в базу AutoCAD существует очень полезный метод в ObjectARX / AutoCAD .NET API.

Метод "acdbConvertGelibCurveToAcDbCurve", который выполняет эту функцию, был представлен в AutoCAD 2012. Эквивалентный метод в AutoCAD .NET API появился в AutoCAD 2013.

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

Особенности, характерные для C++ - Часть 5

Отладка сценария или надстроек на Mac
Опубликовано 31.10.2015     Читать далее >>>
31/10/2015

Особенности, характерные для C++ - Часть 4

Отладка сценариев или надстроек Windows
Опубликовано 31.10.2015     Читать далее >>>
30/10/2015

Особенности, характерные для C++ - Часть 3

Файлы заголовков, итерации, равенства объектов, вспомогательные функции
Опубликовано 30.10.2015     Читать далее >>>
30/10/2015

Особенности, характерные для C++ - Часть 2

Типы объектов и приведение типов, события
Опубликовано 30.10.2015     Читать далее >>>
29/10/2015

Особенности, характерные для C++ - Часть 1

Специфические для ОС особенности, объявление объекта, обработка ошибок, свойства
Опубликовано 29.10.2015     Читать далее >>>
28/10/2015

Параметры типа для системных семейств

Вопрос: Надеюсь кто-нибудь сможет мне помочь как получить параметры типа для системных семейств. Я могу получить параметры экземпляра, такие как Площадь или объем, но не могу, например, Ключевую пометку.

Опубликовано 28.10.2015     Читать далее >>>
28/10/2015

Создание рабочего набора

Вопрос: Я разрабатываю надстройку для Revit. Мое приложение создает документ в заданной директории по моему шаблону. Мне нужно создать новый проект с рабочим набором. В интерфейсе приложения пользователь должен выбрать специальность, путь для сохранения файла, название рабочего набора и нажать кнопочку «Создать файл». Приложение должно создать проект с рабочими наборами. Это возможно? Как это сделать? Спасибо.

Опубликовано 28.10.2015     Читать далее >>>
28/10/2015

Установка и очистка признака модификации документа в .NETАвтор: Александр Ривилис

Установка и очистка признака модификации документа в .NET

Для установки и очистки признака модифицированности документа можно воспользоваться недокументированной функцией acdbSetDbMod, которая экспортируется из acdbNN.dll, где NN зависит от версии AutoCAD. Пример использования этой функции:

Опубликовано 28.10.2015     Читать далее >>>
27/10/2015

Редактирование связанного файла

Вопрос: В своем коде я пытаюсь создать пространство внутри связанной модели. Но, получаю ошибку при вызове метода NewSpace:

 

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

Опубликовано 27.10.2015     Читать далее >>>
27/10/2015

Преобразование координат листа в координаты модели

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

Нам нужно получить границы геометрии элемента на листе.

В Revit 2016 этот пробел все еще существует? Есть ли какой-то способ обойти это ограничение?

Опубликовано 27.10.2015     Читать далее >>>
22/10/2015

Обновление Палитры Внешних ссылок при помощи Microsoft UI Automation

В этой статье мы рассмотрим процедуру обновления Палитры Внешних Ссылок AutoCAD. Прежде, чем мы углубимся в детали, вот некоторая справочная информация о том, почему может потребоваться обновлять эту палитру.

Палитра внешних ссылок AutoCAD превращается в расширенное стандартное окно (ESW) в том случае если установлен плагин Vault для AutoCAD. Поскольку статус возврата / получения файлов отображаются в Палитре Внешних Ссылок, необходимо обновление палитры для отображения текущего состояния в том случае, когда статус изменён извне при помощи клиента Vault.

В силу того, что нет никакого публичного API для этого, мы рассмотрим использование Microsoft UI Automation для имитации нажатия кнопки Обновить. Пожалуйста, обратите внимание, что подход, предложенный здесь не поддерживается Autodesk, а опирается на Win32 и UI Automation API. Если вы будете использовать этот подход, пожалуйста, проверить его более детально в своем приложении.

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