Заголовок Content-Type при загрузке данных в/из OSS [усиление безопасности]
C 11 Ноября 2019 года, загрузка в хранилище OSS методами PUT будет возвращать статус HTTP 400 Bad Request если Content disposition или Content Type будут одними из следующих: application/xhtml+xml, image/svg+xmlDesign Automation и файлы из ZIP-архивов
Открыть модель из zip-файла, который сервис был загружен сервисом Forge Design Automation как входной параметр WorkItem достаточно простоУстановка типа колонки мультитекста при его создании
Мы получили недавно сообщение о том, что в программе возникает исключение eNotApplicable при попытке установить тип колонки (ColumnType) при создании мультитекста таким кодом:Управляемый HLR API для AutoCAD
Мы получили значительное количество запросов от разработчиков о создании управляемой обертки для классического HLR API, который входит в состав ObjectARX SDK для AUtoCAD.Оригинальный пример был написан Cyrille Fauvel , а я исправил несколько ошибок, связанных с функцией обратного вызова индикатора прогресса и мигрировал проект для AutoCAD 2019.
Как определить использовалась ли Базовая точка при вставке выбранных объектов
Это сообщение на форуме заставило меня написать эту статью, которая как раз совпала с внутренним обсуждением аналогичной проблемы.Когда мы используем команду _COPYBASE с заданной базовой точкой, выбранные объекты копируются во временный dwg-файл и системная переменная INSBASE этого временного файла содержит введённую базовую точку.
Эта программа использует этот факт при вставке при помощи _PASTORG в другой чертеж.
Спасибо Joel Petersen за предложенную идею
Официальный релиз Design Automation API для Revit, 3ds Max и Inventor - 28 октября 2019 года!
На конференции Forge DevCon в Дармштадте Сюзана Хольт анонсировала официальный выход в публичный доступ чрезвычайно популярного компонента платформы Forge - Design Automation API для Revit, Inventor и 3ds Max 28 октября 2019 года.Руководство по Design Automation для 3Ds Max: 5. Загрузка результатов выполнения задачи
После запуска созданного workitem-а необходимо дождаться его выполнения, после чего можно будет скачать результаты. Результатом выполнения данной части руководства будет скачанный на Ваш компьютер zip-архив с результатами задачи, выполненной сервисом Design Automation, а так же у Вас будет доступ к файлу отчёта, содержащего в том числе всё, что было выведено в консоль приложением 3dsmaxbatch.exeРуководство по Design Automation для 3Ds Max: 4. Запуск workitem
Запуск workitem-а является запросом на выполнение задачи сервисом Design Automation API. Именно здесь определяются конкретные исходные данные и пути к результатам выполнения задачи сервисом, которые были определены на этапе создания ActivityРуководство по Design Automation для 3Ds Max: 3. Подготовка хранилища в облаке
Для исходных данных и результатов выполняемых Design Automation API задач необходимо предоставить описание HTTP-запросов, которые выполнит сервис для из загрузки. Простым способом может быть создание signed url, которые будут использованы данным API. В этом примере мы будем использовать OSS Forge Data Management API для сохранения исходных данных и результатов выполнения задачРуководство по Design Automation для 3Ds Max: 2. Создание Activity
Activity описывает задачу, которая будет запускаться сервисом Design AutomationРуководство по Design Automation для 3Ds Max: 1. Авторизация
В этой части руководства описывается, как получить 2-legged токен доступа. Этот токен используется для авторизации нашего приложения Forge, что позволит ему использовать Forge API. Ожидаемый результат - мы должны получить 2-legged токен доступа с нужным нам scope для выполнения действий, описанных в следующих частях данного руководстваСоздание таблиц с различной высотой строк с помощью .NET
Создание таблицы с использованием методов Table.InsertColumns и Table.InsertRows достаточно сложное, и ниже приведены некоторые сценарии, которые могут быть полезны:
Сценарий 1: Использование только метода Table.InsertColumns:
Наряду с указанным числом столбцов, создается строка по умолчанию (без ячеек) с индексом строки 0
Сценарий 2. Использование только метода Table.InsertRows:
Наряду с указанным количеством строк создается один столбец по умолчанию (с ячейками) с индексом столбца 0.
Например, table.InsertRows (0, 5, 3); создает таблицу как показано ниже:
Сценарий 3: Использование индекса для создания строк или столбцов:
Здесь используется метод table.InsertRows (int row, double height, int rows)
int row = индекс строки
double height = rows (без строки по умолчанию)
int rows = число добавленых строк
Как и в приведенном выше примере, table.InsertRows (0, 5, 3); создает таблицу с 4 строками (3 + 1 строка по умолчанию) и 1 столбцом с индексом 0.
Поскольку первый параметр (индекс) равен 0, каждая строка вставляется в позицию 0 и толкает ранее вставленную строку (если есть) ниже. Таким образом, мы можем найти строку по умолчанию в самой нижней позиции после создания.
Сценарий 4: Мы можем использовать table.InsertRows в цикле для создания строк различной высоты. Ряды различной высоты могут быть созданы следующим образом:
Как изменить установки ГРАФИКАНАСТР при помощи .NET
Вам следует использовать GraphicsSystem.Configuration API для включения и выключения различных эффектов графической системы.
Вот пример включения «Сглаживания линий»:
Получаем данные модели здания с помощью Model Derivative API
Как установить положение камеры в Navisworks из Forge Viewer-а
Как установить положение камеры в Revit из Forge Viewer-а
Нахождение геометрического центра для LWPOLYLINE, 3DPoly и 2DPoly
К сожалению, в AutoCAD API нет прямого метода для определения геометрического центра всех трех типов полилиний. Можно использовать библиотеки топологии, чтобы выяснить это. Проще же всего преобразовать LWPOLYLINE, AcDb2dPolyline, AcDb3dPolyline в AcDbRegion в памяти и применить AutoCAD API для получения геометрического центра области (AcDbRegion).
Как управлять установками GRAPHICSCONFIG при помощи .NET
Для включения или выключения эффектов графической системы нужно пользоваться GraphicsSystem.Configuration API.Вот пример для включения сглаживания линий (LineSmoothing)