Публикация приложений - необходимая информация.
Поля с маркетинговой и технической информацией, которые вам необходимо будет заполнить при публикации приложения в Autodesk Exchange Apps, перечислены ниже в порядке заполнения. Этот шаблон следует использовать при подготовке данных для проверки и сохранения информации. Описания и визуальные материалы должны быть ясными и информативными, чтобы потенциальные потребители могли понять, какие функции выполняет приложение и как оно может помочь им.Доступ к значению параметра "Экспортировать виды на листах и ссылки на внешние связи" в диалоге экспорта в формат САПР через API
Вопрос: При экспорте модели в файл DWG (или другие форматы САПР) в диалоге «Экспорт в форматы САПР» есть галочка «Экспортировать виды на листах и ссылки на внешние связи». Как можно управлять этим же параметром програмно через API?
Как получить выбранный элемент из связанного файла
В Revit 2014 появилась еще одна реализация перегруженного метода PickObject, позволяющая выбрать элемент из связанного файла – PickObject(ObjectType.LinkedElement). Многие разработчики оценили это нововведение. Тем не менее, у многих возникает проблема – как в итоге получить сам выбранный элемент. Свойство Reference.ElementId не возвращало идентификатор выбранного элемента.
Как определить тип выступающего профиля стены (Wall Sweep Type) для использования в методе WallSweep.Create()
Вопрос: В Revit SDK есть метод для создания выступающего профиля стены. Он объявлен как:
WallSweep.Create( Wall wall,ElementId wallSweepType,
WallSweepInfo wallSweepInfo)
Вторым параметром необходимо передать тип профиля, но я не знаю, как мне его получить и поэтому у меня не получается воспользоваться этим методом. Скажите, как правильно получить значение этого параметра для передачи его в метод?
Установка набора предварительного выбора в .NET API
Вы можете воспользоваться методом Editor.SetImpliedSelection для установки набора предварительного выбора (выбора с ручками). Ниже код команды, которая запрашивает у пользователя выбрать примитивы и устанавливает набор предварительного выбора. Обратите внимание на флаги команды, которые являются обязательными для установки pickfirst :Лёгкое программирование под Autodesk Vault. Часть 24Автор: Дмитрий Емельянов
Рассматриваются механизмы добавления файлов в Vault на основании программы на PowerShell.Итерация системных переменных AutoCAD через .NET, часть 2
В предыдущей части был предоставлен код, показывающий реализацию двух доступных механизмов итерации по системным переменным AutoCAD: SystemObects.Variables и новый класс SystemVariableEnumerator.Итерация системных переменных AutoCAD через .NET, часть 1
Просматривая документацию по .NET API AutoCAD (раздел "Что нового"), можно увидеть новый класс SystemVariableEnumerator. Это очень интересно, поскольку уже есть способ получить системные переменные AutoCAD'a, используя коллекции...Вставка блока из другого DWG-файла с помощью .NET
С помощью метода WblockCloneObjects() можно скопировать блок из одного чертежа в другой. Код на C# показывает как можно использовать метод WblockCloneObjects чтобы скопировать определенный блок с именем "test" из чертежа, находящегося по пути "C:\TEMP\test.dwg".
Открытие пользовательского файла справки при нажатии F1 в кнопке на ленте
Для открытия вашего собственного файла справки (файл .chm), при нажатии на кнопку F1 в момент выделения кнопки на ленте, нужно воспользоваться классом ContextualHelp. ContextualHelp позволяет открыть файл справки, находящемся на локальной машине пользователя, или перейти по внешней ссылке для отображения справки по работе с вашей надстройкой.
Поиск удаленных примитивов
Чтобы получить запись таблицы блоков, в которой имеются удаленные примитивы, можно воспользоваться методом BlockTableRecord.IncludingErased. Например таким образом можно восстановить удаленные примитивы в блоке, как показано ниже.Как определить является ли текущий пользователь владельцем элемента при совместной работеАвтор: Виктор Чекалин
Вопрос: Как определить, что владельцем элемента, который мы хотим редактировать, является текущий пользователь, пред тем как сделать коммит транзакции?
Установка относительного порядка отрисовки примитивов с помощью .NET
Чтобы установить относительный порядок отрисовки одних примитивов относительно других можно воспользоваться методами DrawOrderTable.MoveAbove или DrawOrderTable.MoveBellow как показано ниже в коде.Ошибка запуска VLIDE во время отладки .NET-сборки
При отладке .NET-сборки далеко не всегда удается вызвать VLIDEИзменение порядка отрисовки примитивов
Каждый блок в AutoCAD содержит информацию о порядке отрисовки примитивов в нём. Порядок отрисовки (DrawOrderTable) хранится в словаре расширения записи таблицы блоков. В .NET можно работать с этим словарем используя метод BlockTableRecord.DrawOrderTableId. Порядок отрисовки (DrawOrderTable), обеспечивает методы, такие как MoveToBottom, MoveToTop, MoveBelow, MoveAbove и так далее, которые позволяют изменить порядок отрисовки примитивов в блоке.
Что значит getallobjects() в контексте вложенных транзакций?
Вопрос:
Можете ли вы объяснить мне как работает метод getAllObjects() в контексте сценария использования вложенных транзакций? Я не нашел объяснения в ObjectARX Developer's Reference/Guide.
Ответ:
Давайте рассмотрим такой сценарий (это псевдокод, все транзакции типа AcDbTransaction)
Сброс текущего цвета при установке текущим другого слоя
Установка текущего цвета при помощи системной переменной CECOLOR помогает создавать примитивы с определенным цветом вне зависимости от цвета слоя. Но когда мы устанавливаем другой слой текущим нам может захотеться, чтобы цвет совпал с цветом нового текущего слоя.
Итак. Как автоматически менять текущий цвет на цвет Послою (BYLAYER) при изменении текущего слоя?
Текущий цвет может быть установлен при помощи метода AcDbDatabase::setCecolor(). Вы можете получить уведомление об изменении системной переменной, если создадите реактор, унаследованный от AcEditorReactor и переопределите его метод sysVarChanged(). Системная переменная текущего слоя: CLAYER.
Обновлять или добавлять схему расширяемой области хранения (Extensible Storage)
Вопрос: Я выпустил релиз своей надстройки, где я использую схему.
Сейчас я работаю над новой версией и мне нужно расширить схему области для хранения дополнительных параметров.
Когда я добавляю данные, я могу создать новую схему и скопировать все данные в новую схему, или же я могу создать совсем другую схему.
Создание другой схемы кажется довольно простым способом. Есть ли у этого способа какие-либо недостатки? Ведь если я постоянно буду продолжать создавать новые схемы, то в конце концов это повлияет на размер файла и на производительность.
Создание нового слоя и установка его текущим
Следующий код показывает процедуру создания нового слоя. Все слои хранятся в символьной таблице, называемой таблицей слоёв. Чтобы сделать любой слой текущим, нужно установить свойство Clayer объекта Database в идентификатор объекта слоя.Минимальный размер DirectShape
В Revit 2015 API появилась возможность импортировать геометрию элементов напрямую в проект. В API, класс DirectShape представляет собой геометрическую фигуру.
У одного из пользователей возник вопрос, касающийся использования данного класса
Вопрос: Я создаю фигуры (DirectShape) в Revit 2015 API из имеющегося набора поверхностей при помощи класса TessellatedShapeBuilder.
Проблема в том, что минимально допустимая длина грани, с которой Revit может работать равна 0,0026 фута. Если я пытаюсь использовать грань длиной 0,0025 фута, то Revit падает с ошибкой.
Можно ли изменить этот минимальный допуск?
Или может быть есть какой-то другой способ создания фигуры, где можно задать меньшую длину грани?