TypeScript में 3D मॉडल कैसे बचाएं
Aspose.3D FOSS for TypeScript सभी समर्थित प्रारूपों में दृश्यों को एकल के साथ बचाता है scene.save() कॉल. आउटपुट प्रारूप फ़ाइल एक्सटेंशन से स्वचालित रूप से पता चलता है. यह गाइड प्रत्येक प्रारंभ में सहेजने और प्रारम्भ-विशिष्ट विकल्पों का उपयोग करके कवर करता है।.
कदम-दर-चरण गाइड
चरण 1: @aspose / 3d स्थापित करें
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.
चरण 2: एक दृश्य लोड या बनाएं
या तो एक मौजूदा फ़ाइल लोड करें या बचत से पहले प्रोग्राम के रूप में एक दृश्य बनाएं।.
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
// Load from file
const scene = new Scene();
scene.open('source.obj', new ObjLoadOptions());
// Or create a new empty scene
const emptyScene = new Scene();चरण 3: स्वचालित रूप से पता लगाए गए प्रारूप के साथ सहेजें
scene.save(path) फ़ाइल विस्तार से आउटपुट प्रारूप का पता लगाता है:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('input.obj', new ObjLoadOptions());
// Save as binary glTF
scene.save('output.glb');
// Save as JSON glTF
scene.save('output.gltf');
// Save as STL
scene.save('output.stl');
// Save as OBJ
scene.save('output.obj');
// Save as 3MF
scene.save('output.3mf');
// Save as COLLADA
scene.save('output.dae');चरण 4: प्रारूप-विशिष्ट SaveOptions का उपयोग करें
फिन-ग्रेन नियंत्रण के लिए, एक प्रारूप-विशिष्ट विकल्प वस्तु पास करें:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions } from '@aspose/3d/formats/gltf';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());
// Export to GLB with specific options
const saveOptions = new GltfSaveOptions();
saveOptions.binaryMode = true; // produce GLB (binary glTF)
scene.save('output.glb', saveOptions);चरण 5: एक बफर में सहेजें (इं-मेमोरी)
उपयोग करें scene.saveToBuffer() उत्पाद को एक के रूप में प्राप्त करने के लिए Buffer डिस्क पर लिखने के बिना:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());
const buffer = scene.saveToBuffer('glb');
console.log(`Buffer size: ${buffer.length} bytes`);
// Send via HTTP, upload to S3, etc.
चरण 6: आउटपुट की जांच करें
बचाए जाने के बाद, फ़ाइल मौजूद है और एक गैर-शून्य आकार है की पुष्टि करें:
import * as fs from 'fs';
const stats = fs.statSync('output.glb');
console.log(`Saved output.glb: ${stats.size} bytes`);समर्थन मैट्रिक्स
| विस्तार | प्रारूप | नोट्स |
|---|---|---|
.glb | GTTF 2.0 बाइनरी | glTF के लिए सिफारिश की जाती है; सभी संपत्ति एकल फ़ाइल में शामिल हैं |
.gltf | ग्लोटीएफ 2.0 JSON | अलग .bin और JSON के साथ पाठ फ़ाइलों |
.obj | Wavefront ओबीजे | लेखन .mtl फ़ाइल के साथ-साथ .obj जब सामग्री मौजूद है |
.stl | STL | डिफ़ॉल्ट: बाइनरी STL; उपयोग करें StlSaveOptions.binaryMode = false ASCII पाठ के लिए |
.fbx | Autodesk FBX के बारे में टिप्पणियाँ | नहीं लगाया गया scene.save() स्व-प्रमाण; उपयोग के लिए StlExporter पतन मार्ग |
.3mf | 3D Manufacturing | 3D प्रिंटिंग कार्यप्रवाह के लिए उपयुक्त |
.dae | COLLADA | XML-आधारित एक्सचेंज प्रारूप |
सामान्य समस्याएं और सुधार
Error: Unsupported format जब बचत
यह सुनिश्चित करें कि फ़ाइल एक्सटेंशन एक समर्थित प्रारूप से मेल खाता है. पुस्तकालय प्रारंभिक रूप का पता लगाने के लिए इस एक्सटनेस का उपयोग करता है; एक नामित फ़ील्ड output.xyz असफल हो जाएगा।.
.obj फ़ाइल बचाए जाते हैं लेकिन सामग्री गायब हो जाती है
जब आप एक साइबर के लिए, तो सामग्री लाइब्रेरी (.mtl( ) यह स्वचालित रूप से लिखता है .obj. दोनों फ़ाइलों को फिर से खोलने के लिए एक ही निर्देशिका में होना चाहिए. यदि आपको केवल भूमध्यसागरी की आवश्यकता है, तो सेट करें ObjSaveOptions.enableMaterials = false.
बड़े .gltf अलग-अलग संरचनाओं के साथ
उपयोग करें .glb इसके बजाय .gltf;यह बाइनरी डेटा को एक ही स्व-संरक्षित फ़ाइल में जोड़ता है। GltfSaveOptions.binaryMode = true जब पारित किया जाता है A GltfSaveOptions उदाहरण के लिए।.
अक्सर पूछे जाने वाले प्रश्न
क्या मैं एक बार में कई प्रारूपों को सहेज सकता हूं?
हाँ; कॉल करें scene.save() विभिन्न मार्गों के साथ कई बार:
scene.save('output.glb');
scene.save('output.stl');
scene.save('output.obj');क्या बचाव दृश्य को बदलता है?
नहीं है।. scene.save() आप बिना किसी दुष्प्रभाव के एक ही दृश्य को कई प्रारूपों में सहेज सकते हैं।.
क्या मैं स्रोत फ़ाइल को अतिरिक्त लिख सकता हूं?
हाँ, एक ही रास्ते पर चलना है। scene.save() जिसका इस्तेमाल आप में करते हैं scene.open().पुस्तकालय एक बफर पर लिखता है और फिर डिस्क पर लिखा जाता है।.