Πώς να αποθηκεύσετε 3D μοντέλα σε TypeScript

Πώς να αποθηκεύσετε 3D μοντέλα σε TypeScript

Το Aspose.3D FOSS για το 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: Χρησιμοποιήστε επιλογές αποθήκευσης ειδικά σε μορφή

Για τον έλεγχο με λεπτό σκόνη, περάστε ένα αντικείμενο επιλογών που είναι συγκεκριμένο σε μορφή:

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: Αποθηκεύστε σε ένα buffer (In-Memory)

Χρησιμοποιήστε 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`);

Συσκευή υποστήριξης Matrix

ΕΠΙΤΡΟΦΗΤΕΧΝΗΣημειώσεις
.glbGTTF 2.0 ΔυαδικόςΣυνιστάται για το GSTF; όλα τα περιουσιακά στοιχεία ενσωματωμένα σε ένα αρχείο
.gltfΓκλΤΦ 2.0 JSONχωρισμός .bin και αρχεία κειμένου μαζί με JSON
.objΟΜΠΡΟΣΦΡΟΝΤΟΣ OBJΓράμματα .mtl Πληροφορίες μαζί με το αρχείο .obj Όταν τα υλικά είναι παρόντα
.stlSTLΠροεπιλογή: δυαδικό STL; χρήση StlSaveOptions.binaryMode = false Για το ASCII κείμενο
.fbxAutodesk ΦΒΧΔεν μπήκε μέσα scene.save() αυτοαποκαλύψεις · χρήση StlExporter ΠΡΟΔΟΣ ΠΑΛΙΤΗΣ
.3mf3D ManufacturingΚατάλληλο για 3D εκτύπωση ροών εργασίας
.daeCOLLADAXML-based format ανταλλαγής

Κοινά προβλήματα και τακτοποιήσεις

Error: Unsupported format Όταν η εξοικονόμηση

Βεβαιωθείτε ότι η επέκταση αρχείου ταιριάζει με μια υποστηριζόμενη μορφή. Η βιβλιοθήκη χρησιμοποιεί την επέταση για να εντοπίσει τη μορφοποίηση. ένα αρχείο που ονομάζεται output.xyz Θα αποτύχει.

.obj Τα αρχεία αποθηκεύονται, αλλά τα υλικά λείπουν

Η ΕΣΔΕ, η Βιβλιοθήκη των Υλικών (.mtl(α) γράφεται αυτόματα μαζί με το .obj.Και τα δύο αρχεία πρέπει να είναι στο ίδιο κατάλογο όταν ανοίγετε ξανά. αν χρειάζεστε μόνο γεωμετρία, ρυθμίστε το ObjSaveOptions.enableMaterials = false.

Μεγάλη .gltf Με ξεχωριστές κείμενες

Χρησιμοποιήστε .glb Αντί να .gltf;· συσσωρεύει δυαδικά δεδομένα σε ένα μόνο αυτόνομο αρχείο. GltfSaveOptions.binaryMode = true Όταν περάσει η GltfSaveOptions Η περίπτωση.


Συχνές ερωτήσεις

Μπορώ να αποθηκεύσω σε πολλαπλές μορφές σε μια σειρά;?

Ναι; καλέστε scene.save() Πολλές φορές με διαφορετικούς δρόμους:

scene.save('output.glb');
scene.save('output.stl');
scene.save('output.obj');

Η διατήρηση αλλάζει την σκηνή;?

Όχι . scene.save() Είναι μια λειτουργία που διαβάζεται μόνο στο γραφείο σκηνής. μπορείτε να αποθηκεύσετε την ίδια σκάνδαλο σε πολλαπλές μορφές χωρίς παρενέργειες.

Μπορώ να υπεργράψω το αρχείο προέλευσης;?

Περνάει το ίδιο δρόμο για να scene.save() που χρησιμοποιούσες σε scene.open().Η βιβλιοθήκη γράφει σε ένα μπαχαρικό και στη συνέχεια γράφει στο δίσκο.


Δείτε επίσης

 Ελληνικά