FileFormat — Aspose.3D FOSS for Java
Methods
FileFormat служить як описувач формату, так і реєстром усіх підтримуваних 3D файлових форматів. Кожен формат представлений як FileFormat екземпляр, доступний як атрибут класу або через статичні фабричні методи. Ви передаєте FileFormat екземпляри до Scene.save() щоб примусово задати конкретний формат, або використовуйте FileFormat.detect() для визначення формату невідомого файлу.
Methods: com.aspose.threed
import com.aspose.threed.FileFormat;Підтримувані константи форматів
Константи форматів, які активно підтримуються (зареєстровані імпортери та/або експортери) у випуску FOSS, наведені нижче.
Активно підтримувані (випуск FOSS)
| Methods | Methods | Methods |
|---|---|---|
FileFormat.WAVEFRONTOBJ | .obj | Публічне static final поле (екземпляр ObjFormat) |
FileFormat.GLTF2 | .gltf / .glb | glTF 2.0 і GLB; публічне static final поле (екземпляр GltfFormat). Використовуйте GltfSaveOptions з setContentType(FileContentType.BINARY) для виводу GLB. |
FileFormat.FBX7400ASCII | .fbx | FBX 7.4 ASCII; лише імпорт (без експорту) |
FileFormat.STL_BINARY | .stl | STL binary (встановлюється під час завантаження класу) |
FileFormat.STLASCII | .stl | STL ASCII |
Methods
FBX версії 6100-7700 (бінарний), Maya ASCII/Бінарний, Discreet 3DS, Universal 3D, GLTF 1.0, GLTF бінарний, PDF, Blender, DXF, PLY, X (бінарний/текстовий), Draco, RVM, ASE, IFC, Siemens JT, AMF, VRML, HTML5, ZIP, USD/USDA/USDZ, XYZ, PCD, PCD бінарний.
Статичні методи
| Methods | Тип повернення | Methods |
|---|---|---|
FileFormat.detect(InputStream stream, String fileName) | FileFormat | Визначає формат з файлового потоку; fileName використовується як підказка |
FileFormat.getFormatByExtension(String ext) | FileFormat | Повертає формат, що відповідає рядку розширення, наприклад ".obj", ".glb", ".fbx", ".stl" |
Властивості екземпляра
| Methods | Methods | Methods | Methods |
|---|---|---|---|
extension | String | getExtension() | Основне розширення файлу (без початкової крапки) |
extensions | List<String> | getExtensions() | Усі розширення, підтримувані цим форматом |
contentType | String | getContentType() | Рядок типу MIME |
canExport | boolean | getCanExport() | Чи підтримується експорт у цей формат |
canImport | boolean | getCanImport() | Чи підтримується імпорт з цього формату |
version | String | getVersion() | Рядок версії формату |
Методи екземпляра
| Methods | Тип повернення | Methods |
|---|---|---|
createLoadOptions() | LoadOptions | Створює відповідний специфічний для формату LoadOptions підклас |
createSaveOptions() | SaveOptions | Створює відповідний формат-специфічний SaveOptions підклас |
Methods
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());
}
}