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 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 是 3D 打印和原型设计的关键过程。无论您喜欢使用 SDK 还是通过 cURL 命令与 API 交互,该过程都非常简单灵活,使开发人员可以更轻松地处理复杂的 3D 转换。我们鼓励您探索 Aspose.3D Cloud 并利用其强大的 3D 文件处理功能。
有用的链接
— 现场演示
-源代码
相关文章
我们强烈建议您访问以下链接以了解更多信息: