FileFormat — Aspose.3D FOSS for Java
Example
FileFormat đóng vai trò vừa là bộ mô tả định dạng vừa là một kho đăng ký của tất cả các định dạng tệp 3D được hỗ trợ. Mỗi định dạng được biểu diễn dưới dạng một FileFormat đối tượng có thể truy cập như một thuộc tính lớp hoặc thông qua các phương thức khởi tạo tĩnh. Bạn truyền FileFormat các đối tượng vào Scene.save() để ép buộc một định dạng cụ thể, hoặc sử dụng FileFormat.detect() để xác định định dạng của tệp không xác định.
Example: com.aspose.threed
import com.aspose.threed.FileFormat;Các hằng số định dạng được hỗ trợ
Các hằng số định dạng được hỗ trợ tích cực (các trình nhập và/hoặc xuất đã đăng ký) trong bản phát hành FOSS được hiển thị bên dưới.
Được hỗ trợ tích cực (bản phát hành FOSS)
| Example | Example | Example |
|---|---|---|
FileFormat.WAVEFRONT_OBJ() | .obj | Phương thức tĩnh trả về một ObjFormat đối tượng |
FileFormat.GLTF2() | .gltf / .glb | glTF 2.0 và GLB; phương thức tĩnh trả về một GltfFormat đối tượng. Sử dụng GltfSaveOptions với setContentType(FileContentType.BINARY) để xuất GLB. |
FileFormat.FBX7400ASCII() | .fbx | FBX 7.4 ASCII; chỉ nhập (không xuất) |
FileFormat.STL_BINARY | .stl | STL nhị phân (được đặt khi tải lớp) |
FileFormat.STLASCII | .stl | STL ASCII |
Example
FBX phiên bản 6100-7700 (binary), Maya ASCII/Binary, Discreet 3DS, Universal 3D, GLTF 1.0, GLTF binary, PDF, Blender, DXF, PLY, X (binary/text), Draco, RVM, ASE, IFC, Siemens JT, AMF, VRML, HTML5, ZIP, USD/USDA/USDZ, XYZ, PCD, PCD binary.
Phương thức tĩnh
| Example | Kiểu trả về | Example |
|---|---|---|
FileFormat.detect(InputStream stream, String fileName) | FileFormat | Phát hiện định dạng từ luồng tệp; fileName được sử dụng làm gợi ý |
FileFormat.getFormatByExtension(String ext) | FileFormat | Trả về định dạng khớp với chuỗi phần mở rộng như ".obj", ".glb", ".fbx", ".stl" |
Thuộc tính thể hiện
| Example | Example | Example | Example |
|---|---|---|---|
extension | String | getExtension() | Phần mở rộng tệp chính (không có dấu chấm đầu) |
extensions | List<String> | getExtensions() | Tất cả các phần mở rộng được hỗ trợ bởi định dạng này |
contentType | String | getContentType() | Chuỗi MIME |
canExport | boolean | getCanExport() | Liệu việc xuất sang định dạng này có được hỗ trợ hay không |
canImport | boolean | getCanImport() | Liệu việc nhập từ định dạng này có được hỗ trợ hay không |
version | String | getVersion() | Chuỗi phiên bản định dạng |
Phương thức thể hiện
| Example | Kiểu trả về | Example |
|---|---|---|
createLoadOptions() | LoadOptions | Tạo ra đối tượng đặc thù cho định dạng LoadOptions lớp con |
createSaveOptions() | SaveOptions | Tạo ra đối tượng đặc thù cho định dạng SaveOptions lớp con |
Example
import com.aspose.threed.Scene;
import com.aspose.threed.FileFormat;
import com.aspose.threed.*;
// Auto-detect and load
Scene scene = Scene.fromFile("model.obj");
// Save with explicit format (force GLB binary)
GltfSaveOptions opts = new GltfSaveOptions();
opts.setContentType(FileContentType.BINARY);
scene.save("output.glb", opts);
// Get format by extension
FileFormat fmt = FileFormat.getFormatByExtension(".fbx");
if (fmt != null) {
System.out.println(fmt.getCanImport()); // true
System.out.println(fmt.getCanExport()); // false (FBX export not available)
}
// Create options from a format instance
FileFormat fmtObj = FileFormat.getFormatByExtension(".obj");
LoadOptions loadOpts = fmtObj.createLoadOptions(); // ObjLoadOptions
SaveOptions saveOpts = fmtObj.createSaveOptions(); // ObjSaveOptions
// Detect format from file stream
try (FileInputStream fis = new FileInputStream("unknown_file.bin")) {
FileFormat detected = FileFormat.detect(fis, "unknown_file.bin");
if (detected != null) {
System.out.println(detected.getClass().getSimpleName());
}
}