STL 有幾個反義詞,如“標準三角語言”和“標準曲面細分語言”,是立體光刻 CAD 軟體的本機文件格式。 STL 檔案僅描述三維物體的表面幾何形狀,沒有顏色、紋理或其他屬性。為了查看STL文件,您需要使用以下任一應用程式(即Microsoft 3D Viewer、Microsoft Print 3D、IMSI TurboCAD Pro、GOM Inspect等)。其中一些應用程式具有與之相關的許可成本,如果接收者使用行動設備,則很難查看這些文件並提供快速回饋。因此,一個快速且可行的解決方案是將它們轉換為光柵影像格式,例如 BMP。現在我們討論一下在 C# 中使用 REST API 將 STL 轉換為 BMP。

CAD 檔案處理 API

Aspose.CAD Cloud 是我們基於 REST 的 API,提供縮放、旋轉、翻轉、編輯 CAD 繪圖的功能,甚至將 AutoCAD 繪圖匯出為其他支援的格式,例如圖片(BMP、PNG、JPG)、和固定佈局(PDF 作為向量和光柵)。有關更多詳細信息,請訪問支援的文件格式。由於 API 是根據 REST 架構開發的,因此我們可以將其合併到桌面、行動、Web 和基於雲端的應用程式中。

為了進一步方便我們的客戶,我們創建了特定於程式語言的 SDK,以便您可以使用您最喜歡的程式語言來獲得所有特性/功能。本文將重點放在 Aspose.CAD Cloud SDK for .NET 的使用。現在,為了使用 SDK,我們需要先在系統上安裝它。相關詳細信息,請訪問如何安裝Aspose.Cloud SDKs

C# 中的 STL 到 BMP

請依照以下說明轉換雲端中已有的 STL 檔案並將產生的 BMP 保存在雲端儲存中。 PostDrawingBmp用於轉換操作。

  • 首先,建立 File.Createclass 的實例,同時傳遞 ClientID 和 ClientSecret 詳細資料作為參數。
  • 其次,建立 BmpOptionsDTO 類別的對象,我們可以在其中提供轉換操作的屬性。
  • 第三,透過提供輸入 STL 檔案名稱和 BmpOptionsDTO 物件作為參數來建立 PostDrawingBmpRequest 類別的實例。
  • 現在呼叫 PostDrawingBmp(…) 方法來啟動轉換操作。
  • 最後,使用 File.Create 物件將 Stream 實例儲存為檔案。
// 完整的範例和資料文件,請造訪 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.stlconverted.bmp 下載。

使用 cURL 將 STL 轉換為 BMP

由於我們 API 的 REST 架構,可以在任何平台上透過 cURL 命令輕鬆存取它們。但是,先決條件是根據 Aspose.Cloud 儀表板 指定的 ClientID 和客戶端金鑰詳細資訊產生 JWT 存取權杖。請執行以下命令來產生 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"

有關更多詳細信息,您可以考慮訪問如何使用客戶端 ID 和客戶端密鑰獲取 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 下載。如果您遇到任何問題,或有任何相關疑問,請隨時透過免費產品支援論壇與我們聯絡。

相關文章

我們還建議訪問以下連結來了解: