FileFormat — Aspose.3D FOSS for Java
Example
FileFormat служи както като дескриптор на формат, така и като регистър на всички поддържани 3D файлови формати. Всеки формат е представен като FileFormat инстанция, достъпна като атрибут на класа или чрез статични фабрични методи. Предавате FileFormat инстанции към Scene.save() за да наложите конкретен формат, или използвайте FileFormat.detect() за да идентифицирате формата на неизвестен файл.
Example: com.aspose.threed
import com.aspose.threed.FileFormat;Поддържани константи за формати
Константи за формати, които са активно поддържани (регистрирани импортери и/или експортери) в FOSS изданието, са показани по-долу.
Активно поддържани (FOSS издание)
| Example | Example | Example |
|---|---|---|
FileFormat.WAVEFRONT_OBJ() | .obj | Статичен метод, връщащ ObjFormat инстанция |
FileFormat.GLTF2() | .gltf / .glb | glTF 2.0 и GLB; статичен метод, връщащ GltfFormat екземпляр. Използвайте GltfSaveOptions с setContentType(FileContentType.BINARY) за GLB изход. |
FileFormat.FBX7400ASCII() | .fbx | FBX 7.4 ASCII; само импорт (без експортиране) |
FileFormat.STL_BINARY | .stl | STL бинарен (задано при зареждане на класа) |
FileFormat.STLASCII | .stl | STL ASCII |
Example
FBX версии 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.
Статични методи
| Example | Тип на връщане | Example |
|---|---|---|
FileFormat.detect(InputStream stream, String fileName) | FileFormat | Открива формата от файлов поток; fileName се използва като подсказка |
FileFormat.getFormatByExtension(String ext) | FileFormat | Връща формата, съответстващ на низ с разширение, като например ".obj", ".glb", ".fbx", ".stl" |
Свойства на екземпляра
| Example | Example | Example | Example |
|---|---|---|---|
extension | String | getExtension() | Основно файлово разширение (без водеща точка) |
extensions | List<String> | getExtensions() | Всички разширения, поддържани от този формат |
contentType | String | getContentType() | Низ за MIME тип |
canExport | boolean | getCanExport() | Дали експортирането в този формат се поддържа |
canImport | boolean | getCanImport() | Дали импортирането от този формат се поддържа |
version | String | getVersion() | Низ за версия на формата |
Методи на екземпляра
| Example | Тип на връщаната стойност | Example |
|---|---|---|
createLoadOptions() | LoadOptions | Създава подходящия за конкретния формат LoadOptions подклас |
createSaveOptions() | SaveOptions | Създава подходящия за конкретния формат SaveOptions подклас |
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());
}
}