Aspose.3D FOSS за .NET поддържа седем 3D файлови формати: OBJ, STL, ГЛТФ, GLB, FBX, Колада,и 3MF.Този пост е практичен, формат-по-формат ръководство, показващо как да зареждате и спестите всеки един от тях, какви опции са на разположение и как се конвертира между тях.
Всички примери използват Aspose.ThreeD Намерен е:
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
Пакетът на НУГЕТ:
dotnet add package Aspose.3D --version 26.1.0
ОБД (Wavefront) – Външен фронт
OBJ е широко поддържан текстово-базиран формат за меша геометрия. Aspose.3D FOSS зарежда OBj файлове заедно с техния съучастник .mtl Материални файлове .
Изтегляне на OBJ
var scene = new Scene();
scene.Open("model.obj");
Console.WriteLine("Nodes: " + scene.RootNode.ChildNodes.Count);
Затова и опциите
var opts = new ObjLoadOptions();
// Configure loading behavior as needed
var scene = new Scene();
scene.Open("model.obj", opts);
За да спестите като OBJ
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.obj");
OBJ с опции за спасяване
var opts = new ObjSaveOptions();
scene.Save("output.obj", opts);
Стереолитография (Stereolithography )
STL е стандартният формат за 3D печат. съхранява сурова триъгълна геометрия без материали или йерархия. Aspose.3D FOSS поддържа както бинарната, така и ASCII STl.
Изтегляне STL
var scene = new Scene();
scene.Open("part.stl");
Console.WriteLine("Nodes: " + scene.RootNode.ChildNodes.Count);
За да спестите като STL
var scene = new Scene();
var sphere = new Entities.Sphere(1);
scene.RootNode.CreateChildNode("SphereNode", sphere);
scene.Save("output.stl");
STL с опции за спасяване
var opts = new StlSaveOptions();
// Control binary mode, scale, and coordinate flipping
scene.Save("output.stl", opts);
Пътуване на кръг
// Load an STL file and re-save it -- geometry is preserved
var scene = new Scene();
scene.Open("original.stl");
scene.Save("copy.stl");
GLTF 2.0 и GLB
GlTF е модерен стандарт за уеб и 3D в реално време. Поддържа PBR материали, пълна сцена йерархии и ефективно бинарни опаковки (GLB).
Изтегляне на GLTF
var scene = new Scene();
scene.Open("model.gltf");
Затова и опциите
var opts = new GltfLoadOptions();
var scene = new Scene();
scene.Open("model.gltf", opts);
За да спестите като GLTF
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.gltf");
Забавяне като GLB (бинарна glTF)
Да се създаде самоконтейнерна бинарна .glb Създаване на файлове, изчистени с A .glb Библиотеката вгражда форматът на бинарния glTF от разширението:
scene.Save("output.glb");
Фалшиви филми (Filmbox)
FBX се използва широко в разработването на игри и създаването за цифрово съдържание. Aspose.3D FOSS за .NET поддържа FBx Внос и износ.Износът произвежда бинарни FBX; код за износ на ASCII FB X съществува в източника, но не се нарича от маршрута за експорт в тази версия. FbxSaveOptions Класа осигурява настройки за дефолт.
Изтегляне на FBX
var scene = new Scene();
scene.Open("model.fbx");
Затова и опциите
var opts = new FbxLoadOptions();
var scene = new Scene();
scene.Open("model.fbx", opts);
За да спестите като FBX
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
// FBX export always produces binary FBX output
scene.Save("output.fbx");
Спестяване с опции
// Use FbxSaveOptions for format-specific defaults
var opts = new FbxSaveOptions();
scene.Save("output.fbx", opts);
3MF (3D Manufacturing Format)
3MF is a modern 3D printing format developed by the 3MF Consortium. It supports rich metadata, materials, and multi-object scenes in a single ZIP-based package.
Изтегляне 3MF
var scene = new Scene();
scene.Open("model.3mf");
Затова и опциите
var opts = new TmfLoadOptions();
var scene = new Scene();
scene.Open("model.3mf", opts);
Забавяне на 3MF
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
scene.Save("output.3mf");
Спестяване с опции
var opts = new TmfSaveOptions();
scene.Save("output.3mf", opts);
Стъпка на I/O
Всички формати поддържат зареждане от и спестяване до потоци, което е полезно за уеб услуги и облачна обработка:
using var stream = File.OpenRead("model.obj");
var scene = new Scene();
var opts = new ObjLoadOptions();
scene.Open(stream, opts);
// Save to a memory stream
using var output = new MemoryStream();
var saveOpts = new GltfSaveOptions();
scene.Save(output, saveOpts);
Формат за откриване
Библиотеката може да открие формати от разширения на файлове или съдържание в потока:
// Auto-detect from extension
var scene = new Scene();
scene.Open("model.obj"); // Detects OBJ from .obj extension
// Auto-detect from stream content
using var stream = File.OpenRead("model.obj");
scene.Open(stream); // Inspects stream content to determine format
Бач конверсия
За да конвертирате няколко файла, итерирайте над един директориум и конструирате всеки от тях:
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
var inputDir = "assets/";
var outputDir = "converted/";
foreach (var file in Directory.GetFiles(inputDir, "*.fbx"))
{
var scene = new Scene();
scene.Open(file);
var outputPath = Path.Combine(outputDir,
Path.GetFileNameWithoutExtension(file) + ".glb");
scene.Save(outputPath);
Console.WriteLine("Converted: " + file);
}
Формат на сравнение
| Функция | OBJ | STL | ГЛТФ | FBX | 3MF |
|---|---|---|---|---|---|
| Материалите | MTL | Не | PBR | Да | Да |
| Иерархията на сцената | Не | Не | Да | Да | Да |
| Анимация Стълбс | Не | Не | Да | Да | Не |
| Бинарни режими | Не | Да | GLB | Да | ZIP |
| 3D printing ready | ограничени | Да | Не | Не | Да |
| Уеб доставки | Не | Не | Да | Не | Не |
СЪМВЕТ
Aspose.3D FOSS за .NET ви дава един, последователен API за работа с всички основни 3D файлови формати. Scene, повикайте Open() за зареждане, опционално конфигуриране на формат-специфични опции и обаждане Save() Форматната откриване, I/O базирана на потока и конвертирането на партида правят лесно да се интегрира във всяка .NET тръба.
За повече информация:
- Огнено референтно - подробна класа и методологична документация.
- Знание база - Практически как да се правят статии.
- GitHub - източник и изход тракер.