FileFormat — Aspose.3D FOSS for Java
Example
FileFormat sert à la fois de descripteur de format et de registre de tous les formats de fichiers 3D pris en charge. Chaque format est représenté comme un FileFormat instance accessible en tant qu’attribut de classe ou via static factory methods. Vous passez FileFormat instances à Scene.save() pour forcer un format spécifique, ou utiliser FileFormat.detect() pour identifier le format d’un fichier inconnu.
Example: com.aspose.threed
import com.aspose.threed.FileFormat;Constantes de format prises en charge
Les constantes de format qui sont activement prises en charge (importateurs et/ou exportateurs enregistrés) dans la version FOSS sont présentées ci‑dessous.
Pris en charge activement (version FOSS)
| Example | Example | Example |
|---|---|---|
FileFormat.WAVEFRONT_OBJ() | .obj | Méthode statique renvoyant un ObjFormat instance |
FileFormat.GLTF2() | .gltf / .glb | glTF 2.0 et GLB ; méthode statique renvoyant un GltfFormat instance. Utilisez GltfSaveOptions avec setContentType(FileContentType.BINARY) pour la sortie GLB. |
FileFormat.FBX7400ASCII() | .fbx | FBX 7.4 ASCII ; import uniquement (pas d’export) |
FileFormat.STL_BINARY | .stl | STL binaire (défini lors du chargement de la classe) |
FileFormat.STLASCII | .stl | STL ASCII |
Example
versions FBX 6100-7700 (binaire), Maya ASCII/Binaire, Discreet 3DS, Universal 3D, GLTF 1.0, GLTF binaire, PDF, Blender, DXF, PLY, X (binaire/texte), Draco, RVM, ASE, IFC, Siemens JT, AMF, VRML, HTML5, ZIP, USD/USDA/USDZ, XYZ, PCD, PCD binaire.
Méthodes statiques
| Example | Type de retour | Example |
|---|---|---|
FileFormat.detect(InputStream stream, String fileName) | FileFormat | Détecte le format à partir d’un flux de fichier ; fileName est utilisé comme indice |
FileFormat.getFormatByExtension(String ext) | FileFormat | Renvoie le format correspondant à une chaîne d’extension telle que ".obj", ".glb", ".fbx", ".stl" |
Propriétés d’instance
| Example | Example | Example | Example |
|---|---|---|---|
extension | String | getExtension() | Extension de fichier principale (sans le point initial) |
extensions | List<String> | getExtensions() | Toutes les extensions prises en charge par ce format |
contentType | String | getContentType() | Chaîne de type MIME |
canExport | boolean | getCanExport() | Indique si l’exportation vers ce format est prise en charge |
canImport | boolean | getCanImport() | Indique si l’importation depuis ce format est prise en charge |
version | String | getVersion() | Chaîne de version du format |
Méthodes d’instance
| Example | Type de retour | Example |
|---|---|---|
createLoadOptions() | LoadOptions | Crée le format spécifique approprié LoadOptions sous‑classe |
createSaveOptions() | SaveOptions | Crée le format spécifique approprié SaveOptions sous‑classe |
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());
}
}