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: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编程语言,我们创建了一个名为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 云罐

图 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,如果您遇到任何问题或有任何相关疑问,请随时通过 免费支持论坛 与我们联系。

尽管如此,我们的云 SDK 是在开源模式下开发的,完整的源代码可以从 GitHub 下载。

相关文章

我们强烈建议您访问以下链接,详细了解我们屡获殊荣的 API 的惊人功能