OBJ 转 STL

使用 C# .NET 将 OBJ 转换为 STL

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 文件格式:stlasciistlbinary

// 有关更多示例,请访问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 到 stl

预览 OBJ 到 STL 的转换。

上述示例使用的示例 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 Cloud 存储:

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

Wavefront OBJ 到 STL 转换器应用程序的预览。

结论

将 OBJ 转换为 STL 是 3D 打印和原型设计的关键过程。无论您喜欢使用 SDK 还是通过 cURL 命令与 API 交互,该过程都非常简单灵活,使开发人员可以更轻松地处理复杂的 3D 转换。我们鼓励您探索 Aspose.3D Cloud 并利用其强大的 3D 文件处理功能。

有用的链接

-免费产品支持论坛

-API 定价

现场演示

-源代码

相关文章

我们强烈建议您访问以下链接以了解更多信息: