STL, який має кілька акронімів, як-от «Стандартна мова трикутників» і «Стандартна мова тесселяції», є рідним форматом файлу для програмного забезпечення CAD стереолітографії. Файли STL описують лише геометрію поверхні тривимірного об’єкта без кольору, текстури чи інших атрибутів. Щоб переглянути файл STL, вам потрібно використовувати будь-яку з наведених нижче програм (наприклад, Microsoft 3D Viewer, Microsoft Print 3D, IMSI TurboCAD Pro, GOM Inspect тощо).Деякі з цих програм пов’язані з оплатою ліцензії, і якщо одержувач користується мобільним пристроєм, переглядати ці файли та надавати швидкий відгук стає досить складно. Таким чином, швидким і ефективним рішенням є перетворення їх у формати растрових зображень, такі як BMP. Тепер давайте обговоримо перетворення STL на BMP у C# за допомогою REST API.

API обробки файлів CAD

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

Щоб ще більше полегшити роботу наших клієнтів, ми створили пакети SDK для окремих мов програмування, щоб ви отримали всі функції та можливості вашої улюбленої мови програмування. У цій статті буде акцентовано увагу на використанні Aspose.CAD Cloud SDK для .NET. Тепер, щоб використовувати SDK, нам потрібно спочатку встановити його в системі. Щоб отримати відповідні відомості, відвідайте сторінку Як інсталювати Aspose.Cloud SDKs.

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);
}

// спеціальний метод для збереження вмісту Stream як файлового об’єкта
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. Якщо у вас виникли проблеми або пов’язані запитання, зв’яжіться з нами через безкоштовний форум підтримки продуктів.

Схожі статті

Ми також рекомендуємо відвідати такі посилання, щоб дізнатися про: