STL có một số từ viết tắt như “Standard Triangle Language” và “Standard Tessellation Language” là định dạng tệp gốc cho phần mềm CAD lập thể. Các tệp STL chỉ mô tả hình học bề mặt của vật thể ba chiều mà không có màu sắc, kết cấu hoặc các thuộc tính khác. Để xem tệp STL, bạn cần sử dụng một trong các ứng dụng sau (tức là Microsoft 3D Viewer, Microsoft Print 3D, IMSI TurboCAD Pro, GOM Inspect, v.v.).Một số ứng dụng này có chi phí cấp phép liên quan đến chúng và nếu người nhận sử dụng thiết bị di động, sẽ khá khó để xem các tệp này và cung cấp phản hồi nhanh. Vì vậy, một giải pháp nhanh chóng và khả thi là chuyển đổi chúng sang các định dạng ảnh raster như BMP. Bây giờ chúng ta hãy thảo luận về việc chuyển đổi STL sang BMP trong C# bằng REST API.

API xử lý tệp CAD

Aspose.CAD Cloud là API dựa trên REST của chúng tôi cung cấp khả năng thay đổi tỷ lệ, xoay, lật, chỉnh sửa bản vẽ CAD hoặc thậm chí xuất bản vẽ AutoCAD sang các định dạng được hỗ trợ khác, chẳng hạn như hình ảnh (BMP, PNG, JPG) và bố cục cố định (PDF dưới dạng vectơ và dưới dạng raster).Để biết thêm chi tiết, vui lòng truy cập các định dạng tệp được hỗ trợ. Vì API được phát triển theo kiến trúc REST, nên chúng tôi có thể kết hợp nó vào các ứng dụng trên máy tính để bàn, thiết bị di động, web và đám mây.

Để tạo điều kiện thuận lợi hơn cho khách hàng, chúng tôi đã tạo ra các SDK dành riêng cho ngôn ngữ lập trình để bạn có được tất cả các tính năng/khả năng trong ngôn ngữ lập trình yêu thích của mình. Bài viết này sẽ nhấn mạnh việc sử dụng Aspose.CAD Cloud SDK cho .NET. Bây giờ, để sử dụng SDK, trước tiên chúng ta cần cài đặt nó trên hệ thống. Để biết thông tin chi tiết liên quan, vui lòng truy cập Cách cài đặt Aspose.Cloud SDK.

STL sang BMP trong C#

Vui lòng làm theo hướng dẫn bên dưới để chuyển đổi các tệp STL đã có trong Cloud và lưu BMP kết quả trong bộ nhớ Cloud. PostDrawingBmp được sử dụng cho các hoạt động chuyển đổi.

  • Đầu tiên, tạo một thể hiện của File.Createclass trong khi truyền thông tin chi tiết ClientID và ClientSecret làm đối số.
  • Thứ hai, tạo một đối tượng của lớp BmpOptionsDTO nơi chúng ta có thể cung cấp các thuộc tính cho các hoạt động chuyển đổi.
  • Thứ ba, tạo một thể hiện của lớp PostDrawingBmpRequest bằng cách cung cấp tên tệp STL đầu vào và đối tượng BmpOptionsDTO làm đối số.
  • Bây giờ hãy gọi phương thức PostDrawingBmp(…) để bắt đầu hoạt động chuyển đổi.
  • Cuối cùng, lưu phiên bản Stream dưới dạng tệp bằng cách sử dụng đối tượng File.Create.
// Để biết ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-cad-cloud/aspose-cad-cloud-dotnet
// Nhận thông tin xác thực của khách hàng từ https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// tạo một đối tượng CADApi
CadApi cadApi = new CadApi(clientSecret,clientID);

// tên của tập tin FBSTL đầu vào
String inputFileName = "galeon.stl";
// định dạng tập tin kết quả
String newFormat = "bmp";
// tên của tập tin kết quả
String newFileName = "Converted.bmp";

try
{
    // tạo một trường hợp của 
    BmpOptionsDTO bmpOptionsDTO = new BmpOptionsDTO();
    
    // tạo một trường hợp của PostDrawingBmp class while providing input 
    // Tên tệp STL và đối tượng BmpOptionsDTO làm đối số
    var response = new PostDrawingBmpRequest(inputFileName, bmpOptionsDTO);
    // bắt đầu hoạt động chuyển đổi
    var responseStream = cadApi.PostDrawingBmp(response);
    
    saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// phương pháp tùy chỉnh để lưu nội dung Stream dưới dạng đối tượng tệp
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Các tệp mẫu được sử dụng trong ví dụ trên có thể được tải xuống từ galeon.stlconverted.bmp.

Chuyển đổi STL sang BMP bằng cURL

Do kiến trúc REST của API của chúng tôi, chúng có thể dễ dàng được truy cập thông qua lệnh cURL trên bất kỳ nền tảng nào. Tuy nhiên, điều kiện tiên quyết là tạo mã thông báo truy cập JWT dựa trên thông tin chi tiết ClientID và Client Secret được chỉ định trên bảng điều khiển Aspose.Cloud. Vui lòng thực hiện lệnh sau để tạo mã thông báo 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"

Để biết thêm chi tiết, bạn có thể xem xét truy cập Cách lấy mã thông báo JWT bằng ID khách hàng và khóa bí mật của khách hàng.

Bây giờ chúng ta đã có mã thông báo JWT, vui lòng thực hiện lệnh sau để chuyển đổi tệp STL sang định dạng BMP và lưu đầu ra vào vị trí đã chỉ định.

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

Phần kết luận

Chúng tôi đã thảo luận một số bước rất đơn giản về cách các tệp STL có thể được chuyển đổi thành hình ảnh raster BMP mà không cần sử dụng bất kỳ thành phần của bên thứ 3 nào. Ngoài ra, toàn bộ hoạt động chuyển đổi đã được thực hiện trên Cloud mà không gây tải cho hệ thống cục bộ. Vì SDK của chúng tôi được phát triển theo giấy phép MIT, nên toàn bộ mã nguồn có thể được tải xuống từ GitHub. Nếu bạn gặp bất kỳ sự cố nào hoặc có bất kỳ câu hỏi liên quan nào, vui lòng liên hệ với chúng tôi qua diễn đàn hỗ trợ sản phẩm miễn phí.

Bài viết liên quan

Chúng tôi cũng khuyên bạn nên truy cập vào các liên kết sau để tìm hiểu về: