STL, имеющий несколько бэкронимов, таких как «Standard Triangle Language» и «Standard Tessellation Language», является собственным форматом файла для программного обеспечения САПР для стереолитографии. Файлы STL описывают только геометрию поверхности трехмерного объекта без цвета, текстуры или других атрибутов. Чтобы просмотреть файл STL, вам необходимо использовать одно из следующих приложений (например, Microsoft 3D Viewer, Microsoft Print 3D, IMSI TurboCAD Pro, GOM Inspect и т. д.).Некоторые из этих приложений имеют связанные с ними лицензионные расходы, и если получатель находится на мобильном устройстве, становится довольно сложно просматривать эти файлы и предоставлять быструю обратную связь. Поэтому быстрым и жизнеспособным решением является их преобразование в форматы растровых изображений, такие как BMP. Теперь давайте обсудим преобразование STL в BMP в C# с использованием REST API.

API обработки файлов САПР

Aspose.CAD Cloud — это наш API на основе REST, предлагающий возможности масштабирования, поворота, переворота, редактирования чертежей САПР или даже экспорта чертежей AutoCAD в другие поддерживаемые форматы, такие как изображения (BMP, PNG, JPG) и фиксированный макет (PDF как вектор и как растр).Для получения более подробной информации посетите поддерживаемые форматы файлов. Поскольку API разработан в соответствии с архитектурой REST, мы можем интегрировать его в настольные, мобильные, веб- и облачные приложения.

Чтобы еще больше облегчить нашим клиентам задачу, мы создали SDK для конкретных языков программирования, чтобы вы могли получить все функции/возможности в вашем любимом языке программирования. В этой статье особое внимание будет уделено использованию Aspose.CAD Cloud SDK для .NET. Теперь, чтобы использовать SDK, нам нужно сначала установить его в системе. Для получения дополнительных сведений посетите Как установить Aspose.Cloud SDK.

STL в BMP в C#

Пожалуйста, следуйте инструкциям ниже, чтобы преобразовать файлы STL, уже доступные в облаке, и сохранить полученный BMP в облачном хранилище. PostDrawingBmp используется для операций преобразования.

  • Сначала создайте экземпляр File.Createclass, передав в качестве аргументов данные ClientID и ClientSecret.
  • Во-вторых, создадим объект класса BmpOptionsDTO, в котором мы сможем предоставить свойства для операций преобразования.
  • В-третьих, создайте экземпляр класса PostDrawingBmpRequest, указав в качестве аргументов входное имя файла STL и объект BmpOptionsDTO.
  • Теперь вызовите метод PostDrawingBmp(…), чтобы инициировать операцию преобразования.
  • Наконец, сохраните экземпляр Stream как файл, используя объект File.Create.
// Полные примеры и файлы данных можно найти по адресу https://github.com/aspose-cad-cloud/aspose-cad-cloud-dotnet
// Получите учетные данные клиента с https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// создать объект CADApi
CadApi cadApi = new CadApi(clientSecret,clientID);

// имя входного файла FBSTL
String inputFileName = "galeon.stl";
// результирующий формат файла
String newFormat = "bmp";
// имя результирующего файла
String newFileName = "Converted.bmp";

try
{
    // создать экземпляр 
    BmpOptionsDTO bmpOptionsDTO = new BmpOptionsDTO();
    
    // создать экземпляр PostDrawingBmp class while providing input 
    // Имя файла STL и объекты BmpOptionsDTO в качестве аргумента
    var response = new PostDrawingBmpRequest(inputFileName, bmpOptionsDTO);
    // инициировать операцию преобразования
    var responseStream = cadApi.PostDrawingBmp(response);
    
    saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// пользовательский метод сохранения содержимого потока как файлового объекта
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Образцы файлов, использованные в приведенном выше примере, можно загрузить с galeon.stl и converted.bmp.

Конвертировать STL в BMP с помощью cURL

Благодаря архитектуре REST наших API к ним можно легко получить доступ с помощью команд cURL на любой платформе. Однако предварительным условием является генерация токена доступа JWT на основе ClientID и Client Secret, указанных на панели управления Aspose.Cloud. Выполните следующую команду для генерации токена JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Для получения более подробной информации вы можете посетить страницу Как получить токен JWT с помощью идентификатора клиента и секретного ключа клиента.

Теперь, когда у нас есть токен JWT, выполните следующую команду, чтобы преобразовать файл STL в формат BMP и сохранить вывод в указанном месте.

curl -X GET "https://api.aspose.cloud/v3.0/cad/galeon.stl/saveAs/bmp" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.bmp

Заключение

Мы обсудили несколько очень простых шагов по преобразованию файлов STL в растровое изображение BMP без использования сторонних компонентов. Кроме того, вся операция преобразования была выполнена в облаке без нагрузки на локальную систему. Поскольку наши SDK разработаны по лицензии MIT, полный исходный код можно загрузить с GitHub. Если у вас возникнут какие-либо проблемы или у вас возникнут какие-либо вопросы, пожалуйста, свяжитесь с нами через бесплатный форум поддержки продукта.

Похожие статьи

Мы также рекомендуем посетить следующие ссылки, чтобы узнать больше о: