Aspose.3D FOSS for .NET सात 3D फ़ाइल फ़ॉर्मेट्स का समर्थन करता है: OBJ, STL, glTF, GLB, FBX, Collada, और 3MF. यह पोस्ट एक व्यावहारिक, फ़ॉर्मेट-दर-फ़ॉर्मेट गाइड है जो दिखाती है कि प्रत्येक को कैसे लोड और सहेजा जाए, कौन‑से विकल्प उपलब्ध हैं, और उनके बीच कैसे रूपांतरण किया जाए।.
सभी उदाहरण उपयोग करते हैं Aspose.ThreeD namespace:
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
NuGet पैकेज:
dotnet add package Aspose.3D --version 26.1.0
OBJ (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);
STL (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);
STL राउंड‑ट्रिप
// 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 फ़ाइल, एक के साथ सहेजें .glb एक्सटेंशन। लाइब्रेरी एक्सटेंशन से बाइनरी glTF फ़ॉर्मेट का अनुमान लगाती है:
scene.Save("output.glb");
FBX (Filmbox)
FBX गेम विकास और डिजिटल कंटेंट निर्माण में व्यापक रूप से उपयोग किया जाता है। Aspose.3D FOSS for .NET FBX का समर्थन करता है आयात और निर्यात दोनों ASCII और बाइनरी मोड में।.
FBX लोड करना
var scene = new Scene();
scene.Open("model.fbx");
विकल्पों के साथ लोड करना
var opts = new FbxLoadOptions();
var scene = new Scene();
scene.Open("model.fbx", opts);
FBX ASCII के रूप में सहेजना
var scene = new Scene();
var box = new Entities.Box(2, 2, 2);
scene.RootNode.CreateChildNode("BoxNode", box);
var opts = new FbxSaveOptions() { IsAscii = true };
scene.Save("output.fbx", opts);
FBX बाइनरी के रूप में सहेजना
var opts = new FbxSaveOptions() { IsAscii = false };
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 | glTF | FBX | 3MF |
|---|---|---|---|---|---|
| सामग्री | MTL | नहीं | PBR | हाँ | हाँ |
| सीन पदानुक्रम | नहीं | नहीं | हाँ | हाँ | हाँ |
| एनिमेशन स्टब्स | नहीं | नहीं | हाँ | हाँ | नहीं |
| बाइनरी मोड | नहीं | हाँ | GLB | हाँ | ZIP |
| 3D printing ready | सीमित | हाँ | नहीं | नहीं | हाँ |
| वेब डिलीवरी | नहीं | नहीं | हाँ | नहीं | नहीं |
सारांश
Aspose.3D FOSS for .NET आपको सभी प्रमुख 3D फ़ाइल फ़ॉर्मैट्स के साथ काम करने के लिए एक एकल, सुसंगत API प्रदान करता है। पैटर्न हमेशा समान रहता है: एक बनाएं Scene, कॉल करें Open() लोड करने के लिए, वैकल्पिक रूप से फ़ॉर्मेट‑विशिष्ट विकल्प कॉन्फ़िगर करें, और कॉल करें Save() एक्सपोर्ट करने के लिए। फ़ॉर्मेट डिटेक्शन, स्ट्रीम‑आधारित I/O, और बैच रूपांतरण इसे किसी भी .NET पाइपलाइन में एकीकृत करना आसान बनाते हैं।.
अधिक जानकारी के लिए:
- API संदर्भ – विस्तृत क्लास और मेथड दस्तावेज़ीकरण।.
- ज्ञान आधार – व्यावहारिक कैसे‑करें लेख।.
- GitHub – स्रोत कोड और इश्यू ट्रैकर।.