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.stl 和 converted.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 下載。如果您遇到任何問題,或有任何相關疑問,請隨時透過免費產品支援論壇與我們聯絡。
相關文章
我們還建議訪問以下連結來了解: