OBJ 格式廣泛用於表示 3D 模型、儲存頂點位置、紋理和法線等資料。 STL(立體光刻)是另一種常見的 3D 檔案格式,主要用於 3D 列印,因為它僅包含 3D 物件的表面幾何形狀。將 OBJ 轉換為 STL 允許使用者準備用於快速原型製作和 3D 列印的 3D 模型。
OBJ 到 STL 轉換的好處
-
OBJ 格式:OBJ 檔案用途廣泛,包含豐富的 3D 訊息,例如座標、法線和紋理。它們通常用於 Blender、Autodesk 等軟體中進行 3D 渲染。
-
STL 格式:STL 檔案是 3D 列印和製造目的的首選。它們以簡單的格式包含表面幾何形狀,使其與幾乎所有 3D 列印機和 CAD 軟體相容。
然而,透過將 OBJ 轉換為 STL,您可以輕鬆地從詳細的 3D 模型轉移到可列印的設計,從而簡化 3D 列印和模型驗證的過程。
3D模型處理API
Aspose.3D Cloud SDK 提供了一組強大的工具來處理 3D 模型和檔案轉換。只需幾行 C# 程式碼,您就可以上傳 OBJ 文件,指定輸出為 STL,並無縫轉換文件。因此,輸出 STL 檔案針對 3D 列印和 CAD 應用程式進行了最佳化,使其成為需要準備 3D 模型以進行快速原型製作的工程師、設計師和開發人員的完美解決方案。
安裝
首先,我們需要在NuGet套件管理器中搜尋“Aspose.3D-Cloud”,然後點擊“新增套件”按鈕。其次,從雲端儀表板取得您的客戶端憑證。如果您沒有現有帳戶,只需按照快速入門文章中指定的說明建立免費帳戶即可。
在 C# 中將 OBJ 轉換為 STL
本節介紹使用 C# .NET 將 OBJ 檔案轉換為 STL 的簡單而高效的過程
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);
建立 ThreeDCloudApi 的實例,我們在其中傳遞客戶端 ID 和客戶端密鑰詳細資訊作為參數。
threeDCloudApi.UploadFile(inputFileName, inputStream);
將來源 OBJ 檔案上傳到雲端儲存。
var response = threeDCloudApi.PostConvertByFormat(inputFileName, "stlascii", newFileName, null, isOverwrite: true, null);
呼叫API執行OBJ檔到STL的轉換。
API 在轉換過程中支援以下 STL 檔案格式。
stlascii
或stlbinary
。
// 有關更多範例,請造訪 https://github.com/aspose-3d-cloud/aspose-3d-cloud-dotnet
// 從 https://dashboard.aspose.cloud/ 取得客戶端憑證
string clientSecret = "XXXXXXXXXXXXXXXX";
string clientID = "XXXXXXXXXXXXX-XXXXXX-4be6-be35-ff5c3a6aa4a2";
// 輸入 OBJ 檔案的名稱
String inputFileName = "input.obj";
// 產生的 STL 檔案格式
String newFormat = "stlascii";
// 結果文件的名稱
String newFileName = "myResultant.stl";
// 建立 ThreeDCloud API 實例
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);
try
{
// 從本機磁碟機載入輸入 OBJ 文件
using (var inputStream = new FileStream("C:\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
{
// 將OBJ檔案上傳到雲端存儲
threeDCloudApi.UploadFile(inputFileName, inputStream);
// 啟動檔案轉換操作
var response = threeDCloudApi.PostConvertByFormat(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
// 如果轉換成功則列印成功訊息
if (response != null && response.Equals("OK"))
{
Console.WriteLine("Wavefront OBJ to STL conversion completed successfully !");
Console.ReadKey();
}
}
}catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
上例中使用的範例 OBJ 檔案可以透過 GameReady Cottage.obj 下載。
使用 cURL 指令將 OBJ 檔案轉換為 STL
對於喜歡使用 cURL 命令的人來說,Aspose.3D Cloud 也支援 REST API 互動。以下是使用 cURL 將 OBJ 轉換為 STL 的方法:
第 1 步:取得訪問令牌
您需要一個存取令牌來驗證您的 API 請求。使用以下命令取得您的令牌:
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=Your-App-SID&client_secret=Your-App-Key" \
-H "Content-Type: application/x-www-form-urlencoded"
步驟2:上傳OBJ文件
取得令牌後,將 OBJ 檔案上傳到 Aspose 雲端儲存:
curl -v "https://api.aspose.cloud/v3.0/3d/storage/file/sample.obj" \
-X PUT \
-H "Authorization: Bearer your_access_token" \
--data-binary @sample.obj
步驟 3:將 OBJ 轉換為 STL
若要將 OBJ 檔案轉換為 STL,請使用下列 cURL 指令:
curl -v "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name={sourceFile}&newformat=stlascii&newfilename={convertedFile}&IsOverwrite=false" \
-X POST \
-H "accept: application/json" \
-H "authorization: Bearer {accessToken}"
將「sourceFile」替換為輸入 OBJ 檔案的名稱,將「resultantFile」替換為產生的 STL 檔案的名稱,將「accessToken」替換為上面產生的 JWT 令牌。
免費的 Wavefront OBJ 到 STL 轉換器應用程式
為了見證Aspose.3D Cloud的驚人功能,您可以考慮使用我們的輕量級且超級高效的Wavefront OBJ到STL轉換器應用程式。
結論
將 OBJ 轉換為 STL 是 3D 列印和原型製作的關鍵過程。無論您喜歡使用 SDK 還是透過 cURL 命令與 API 交互,該過程都簡單且靈活,使開發人員能夠更輕鬆地處理複雜的 3D 轉換。我們鼓勵您探索 Aspose.3D Cloud 並利用其強大的功能進行 3D 檔案操作。
有用的連結
相關文章
我們強烈建議訪問以下連結以了解更多資訊: