Autodesk 3ds Max(旧称 3D Studio および 3D Studio Max)は、3D アニメーション、モデル、ゲーム、および画像を作成するためのプロフェッショナル 3D コンピュータ グラフィックス プログラムです。シーンや画像の 3D 表現のデータが含まれているため、3DS ファイルを作成できます。また、3D データのインポートとエクスポートによく使用されるファイル形式の 1 つでもあります。同様に、積層製造ファイル形式 (AMF) は、3D 印刷などの積層製造プロセス用のオブジェクトを記述するためのオープン スタンダードです。その前身である STL 形式とは異なり、AMF は色、マテリアル、ラティス、星座をネイティブにサポートしています。

この記事では、REST API を使用してこれら 2 つの形式を相互変換する方法について説明します。

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 :- dashboard.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プログラミング言語を使用するお客様の利便性を高めるために、Javaプログラム内で3Dファイル処理のすべての機能を提供するAspose.3D Cloud SDK for Javaというラッパーを作成しました。

インストールと設定

プログラミング SDK を使用するための最初のステップはインストールです。これは Maven および GitHub からダウンロードできます。以下に、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 クラウド ジャー

画像 2: プロジェクト依存関係の下にある Aspose.3d.jar。

次のセクションでは、Java Cloud SDK を使用して 3DS から AMF への変換を実行する方法について詳しく説明します。

  • 最初のステップは、クライアント ID とクライアント シークレットを渡しながら ThreeDCloudApi のオブジェクトを作成することです。
  • 入力 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 に変換する手順と詳細について説明しました。クラウド API は非常に優れているため、少ないコード行 (正確には 2 行) で変換を実行できます。ぜひ当社の API をお試しください。問題が発生したり、関連する質問がある場合は、無料サポート フォーラム からお気軽にお問い合わせください。

ただし、当社のクラウド SDK はオープンソース モデルに基づいて開発されており、完全なソース コードは GitHub からダウンロードできます。

関連記事

受賞歴のあるAPIの素晴らしい機能について詳しく知るには、以下のリンクにアクセスすることを強くお勧めします。