FileFormat — Aspose.3D FOSS for .NET
Methods
Methods FileFormat class là một kho đăng ký của tất cả các định dạng tệp 3D được hỗ trợ. Không có hằng số công khai có tên cho từng định dạng — các thể hiện định dạng được lấy tại thời gian chạy thông qua các phương thức khám phá tĩnh hoặc Formats bộ sưu tập.
Danh bạ Định dạng
Các định dạng được hỗ trợ được đăng ký nội bộ. Sử dụng API sau để truy cập chúng:
| Methods | Methods | Methods |
|---|---|---|
FileFormat.Formats | IList<FileFormat> | Tất cả các thể hiện định dạng đã đăng ký |
FileFormat.Detect(string filePath) | FileFormat | Phát hiện định dạng từ đường dẫn tệp (dựa trên phần mở rộng và nội dung) |
FileFormat.GetFormatByExtension(string ext) | FileFormat | Trả về định dạng cho một phần mở rộng tệp nhất định (ví dụ:. ".obj") |
Các định dạng đã đăng ký bao gồm: OBJ, STL, glTF/GLB, FBX, COLLADA, PLY và 3MF.
Methods
| Methods | Kiểu trả về | Methods |
|---|---|---|
Detect(string filePath) | FileFormat | Phát hiện định dạng từ đường dẫn tệp |
GetFormatByExtension(string ext) | FileFormat | Trả về định dạng phù hợp với phần mở rộng |
CreateLoadOptions() | LoadOptions | Trả về các tùy chọn tải phù hợp cho thể hiện định dạng này |
CreateSaveOptions() | SaveOptions | Trả về các tùy chọn lưu phù hợp cho thể hiện định dạng này |
Ghi chú về CreateLoadOptions() / CreateSaveOptions(): Các phương thức này hoạt động chính xác khi được gọi trên các thể hiện định dạng được trả về bởi Detect() hoặc GetFormatByExtension() — mỗi định dạng đã đăng ký định dạng ghi đè các phương thức này bằng triển khai riêng của nó. Gọi chúng trên một lớp cơ sở thô FileFormat thể hiện (không được lấy qua registry) sẽ ném ra NotImplementedException.
Methods
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;
// Detect format from a file path
var format = FileFormat.Detect("model.obj");
Console.WriteLine(format.Extension); // ".obj"
// Get load options from the detected format instance
var loadOpts = format.CreateLoadOptions(); // returns ObjLoadOptions via polymorphism
// Load and save — format inferred from extension
var scene = new Scene();
scene.Open("model.obj");
scene.Save("output.glb"); // binary GLB inferred from .glb extension
// Enumerate all registered formats
foreach (var fmt in FileFormat.Formats)
Console.WriteLine($"{fmt.Extension}: import={fmt.CanImport}, export={fmt.CanExport}");