Autodesk 3ds Max(以前稱為 3D Studio 和 3D Studio Max)是一款專業的 3D 電腦圖形程序,用於製作 3D 動畫、模型、遊戲和圖像。它能夠創建 3DS 文件,因為它包含用於場景和圖像的 3D 表示的資料。它也是 3D 資料匯入和匯出的流行文件格式之一。同樣,積層製造文件格式 (AMF) 是一種開放標準,用於描述 3D 列印等積層製造過程的物件。與其前身 STL 格式不同,AMF 本身支援顏色、材質、晶格和星座。

在本文中,我們將討論使用 REST API 實作這兩種格式的相互轉換。

3D 建模和處理 API

Aspose.3D Cloud API 提供在雲端建立和處理 3D 模型、物件和實體(長方體、圓柱體、球體、環面、平面)的功能。儘管有特定的軟體解決方案可用於 3D 檔案處理,但它們會產生安裝和授權成本。此外,為了執行批次解決方案是可行的方法。此外,REST 架構可讓您使用任何語言在任何平台上存取 API。

使用 cURL 指令將 3DS 轉換為 AMF

我們知道客戶端 URL 是一種免費的命令列工具,通常用於使用受支援的(HTTP、HTTPS、FTP 等)之一將資料傳輸到網頁伺服器或從網頁伺服器傳輸資料。它使用 URL 語法與伺服器之間傳輸資料。 cURL 因其能夠靈活完成複雜任務而廣受歡迎。由於我們的雲端 API 是根據 REST 架構開發的,因此您也可以使用 cURL 命令列工具輕鬆存取 Aspose.Words Web 服務。

因此,為了進一步進行,第一步是產生 JWT 存取令牌,因為我們的 REST API 只能由授權人員存取。因此,下一步是獲取您的個人化 ClientID 和 ClientSecret 詳細資訊。

  • 為了取得用戶端憑證,請造訪 Aspose.Cloud 儀表板 建立帳戶。如果您有 GitHub 或 Google 帳戶,只需註冊即可。否則,請按一下建立新帳戶按鈕並提供所需的資訊。然後使用憑證登入儀表板,並從儀表板展開「應用程式」部分,然後向下捲動至「用戶端憑證」部分。複製客戶端 ID 和客戶端密鑰詳細資訊。
客戶憑證

圖 1:- 儀表板.aspose.cloud 上的客戶端憑證

現在我們有了 ClientID 和 ClientSecret 詳細信息,我們需要在終端中執行以下命令來產生 JWT 令牌。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

下一步是在執行以下命令時將檔案上傳到雲端儲存。

curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/rochair_hansen.3ds" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{/Users/nayyershahbaz/Documents/Esso.3ds}}

在上面的範例中,提供了本機系統上 3DS 檔案的路徑。現在檔案已上傳到雲端儲存中,我們可以執行以下命令來執行 3ds 到 amf 的轉換。

curl -v -X GET "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Esso.3ds&newformat=amf&newfilename=Esso.amf&IsOverwrite=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

在 Java 中將 3DS 轉換為 AMF

為了方便我們的客戶使用Java程式語言,我們創建了一個名為Aspose.3D Cloud SDK for Java的包裝器,提供了Java程式內3D檔案處理的所有特性和功能。

安裝與配置

使用程式設計 SDK 的第一步是安裝,可以從 MavenGitHub 下載。以下詳細介紹如何在 Maven 建置專案中下載並使用 aspose-3d-cloud-20.5.jar。

在 pom.xml 檔案中新增以下相依性。

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies> 
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-3d-cloud</artifactId>
    <version>20.5</version>
</dependency>
</dependencies>
Aspose.3D雲jar

圖片 2:- 項目依賴項下的 Aspose.3d.jar。

在下一節中,我們將討論如何使用 Java Cloud SDK 執行 3DS 到 AMF 轉換的詳細資訊。

  • 第一步是建立 ThreeDCloudApi 對象,同時傳遞 Client ID 和 Client Secret。
  • 建立字串變數來定義輸入 3DS 檔名。
  • 現在建立另一個定義結果檔案格式的字串變數(在我們的例子中是 amf)。
  • 為了指定結果文件,請建立另一個 String 實例。
  • 最後呼叫ThreeDCloudApi的postConvertByFormat(…)方法來轉換操作。
// 從 https://dashboard.aspose.cloud/ 取得 clientId 和 clientSecret
String clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
String clientSecret = "388e864b819d8b067a8b1cb625a2ea8e";

// 建立Aspose.3D雲端實例
ThreeDCloudApi threeDCloudApi  = new ThreeDCloudApi("client_credentials", clientId, clientSecret);

// 輸入 3DWS 檔案的名稱
String name = "Esso.3ds";

// 輸出格式詳細信息
String newformat = "amf";

// 結果文件的名稱
String newFileName = "Esso.amf";
// 如果沒有指定儲存訊息,則使用預設存儲
String storage1 = null;
		    		
// 初始化轉換操作
File response = threeDCloudApi.postConvertByFormat(name, newformat, newFileName, null, true, storage1);

上例中使用的範例檔案可以從以下連結下載

結論

在本文中,我們討論如何將 3DS 檔案格式轉換為 AMF 的步驟和相關細節。 Cloud API 非常神奇,您可以使用更少的程式碼行(準確地說是 2 行)來執行轉換。請嘗試使用我們的 API,如果您遇到任何問題,或有任何相關疑問,請隨時透過免費支援論壇聯絡。

儘管如此,我們的Cloud SDK是在開源模式下開發的,完整的原始碼可以從GitHub下載。

相關文章

我們強烈建議您訪問以下鏈接,以詳細了解我們屢獲殊榮的 API 的驚人功能