如何开始使用 Aspose.3D FOSS for .NET
Aspose.3D FOSS for .NET 是一个免费、MIT 许可证的库,用于加载、操作和保存 3D 文件 —— 无需本地二进制文件,纯 C# 来自 NuGet。 注意: theSceneAPI 已更新;请参阅修订后的文档以了解新成员和用法。
分步指南
步骤 1:安装软件包
从 NuGet 安装(需要 .NET 10.0 或更高版本):
dotnet add package Aspose.3D.FOSS验证安装是否正确加载:
using Aspose.ThreeD;
Console.WriteLine("Aspose.3D loaded.");步骤 2:导入所需的命名空间
导入场景和格式类的命名空间:
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;步骤 3:加载 3D 文件
使用 Scene.Open(fileName) 加载任何受支持的格式。库会根据文件扩展名自动检测格式:
using Aspose.ThreeD;
var scene = new Scene();
scene.Open("model.obj");
Console.WriteLine($"Loaded scene with root node: {scene.RootNode.Name}");或者使用静态工厂方法:
var scene = Scene.FromFile("model.glb");步骤 4:遍历场景图
已加载的场景是以 scene.RootNode 为根的 Node 对象树:
using Aspose.ThreeD;
void Walk(Node node, int depth = 0)
{
var indent = new string(' ', depth * 2);
Console.WriteLine($"{indent}Node: {node.Name}");
foreach (var child in node.ChildNodes)
Walk(child, depth + 1);
}
var scene = Scene.FromFile("model.obj");
Walk(scene.RootNode);步骤 5:保存为其他格式
使用 Scene.Save(fileName) 导出到任何受支持的输出格式。库会根据文件扩展名检测输出格式:
using Aspose.ThreeD;
var scene = Scene.FromFile("model.obj");
scene.Save("output.glb");
Console.WriteLine("Saved as GLB.");常见问题与解决方案
FileNotFoundException 调用时 Scene.Open(fileName) 您提供的路径不存在或使用了错误的分隔符。请使用绝对路径或 Path.Combine() 以确保文件路径正确。
UnsupportedOperationException 针对某些方法 某些方法(场景渲染、水印)在 FOSS 版中不可用。使用高级功能前请查看限制文档。
未知格式错误 确保文件扩展名与实际格式匹配。库会根据扩展名检测格式,用于 Scene.Open(fileName) and Scene.FromFile(fileName). 传递显式的 FileFormat 参数以覆盖检测。
加载后场景为空 某些二进制格式可能需要特定的加载选项。尝试使用显式重载并传入 ObjLoadOptions or GltfLoadOptions 如果默认加载产生空场景。
常见问题
Aspose.3D FOSS 是否需要 Microsoft Office 或任何本机 DLL?
不。该库是纯 C#,不需要本机依赖或外部二进制文件。
支持哪些 .NET 版本?
.NET 10.0 或更高版本。该库可在 Windows、macOS、Linux 和 Docker 容器上运行。
该库可免费用于商业用途吗?
是的。它在 MIT 许可证下发布。您可以出于任何目的使用、修改和再分发,包括商业应用。
我可以读取和写入哪些 3D 格式?
该库支持 OBJ、STL、glTF 2.0 / GLB、FBX、COLLADA 和 3MF 的读取和写入。PLY 仅限导入。使用 FileFormat.GetFormatByExtension(extensionName) 在运行时查询支持的格式。
我可以从头创建一个 3D 场景吗?
是的。使用无参数构造一个 Scene,向 scene.RootNode 添加子节点,然后保存为所需的格式。