FileFormat — Aspose.3D FOSS for Java
Example
FileFormat sirve tanto como descriptor de formato como registro de todos los formatos de archivo 3D compatibles. Cada formato se representa como un FileFormat instancia accesible como atributo de clase o mediante métodos de fábrica estáticos. Pasas FileFormat instancias a Scene.save() para forzar un formato específico, o usar FileFormat.detect() para identificar el formato de un archivo desconocido.
Example: com.aspose.threed
import com.aspose.threed.FileFormat;Constantes de Formato Compatibles
Las constantes de formato que están activamente soportadas (importadores y/o exportadores registrados) en la versión FOSS se muestran a continuación.
Soportado activamente (versión FOSS)
| Example | Example | Example |
|---|---|---|
FileFormat.WAVEFRONT_OBJ() | .obj | Método estático que devuelve un ObjFormat instancia |
FileFormat.GLTF2() | .gltf / .glb | glTF 2.0 y GLB; método estático que devuelve un GltfFormat instancia. Utilice GltfSaveOptions con setContentType(FileContentType.BINARY) para salida GLB. |
FileFormat.FBX7400ASCII() | .fbx | FBX 7.4 ASCII; solo importación (sin exportación) |
FileFormat.STL_BINARY | .stl | STL binario (establecido al cargar la clase) |
FileFormat.STLASCII | .stl | STL ASCII |
Example
Versiones FBX 6100-7700 (binario), Maya ASCII/Binario, Discreet 3DS, Universal 3D, GLTF 1.0, GLTF binario, PDF, Blender, DXF, PLY, X (binario/texto), Draco, RVM, ASE, IFC, Siemens JT, AMF, VRML, HTML5, ZIP, USD/USDA/USDZ, XYZ, PCD, PCD binario.
Métodos estáticos
| Example | Tipo de retorno | Example |
|---|---|---|
FileFormat.detect(InputStream stream, String fileName) | FileFormat | Detecta el formato a partir de un flujo de archivo; fileName se usa como pista |
FileFormat.getFormatByExtension(String ext) | FileFormat | Devuelve el formato que coincide con una cadena de extensión como ".obj", ".glb", ".fbx", ".stl" |
Propiedades de instancia
| Example | Example | Example | Example |
|---|---|---|---|
extension | String | getExtension() | Extensión de archivo principal (sin el punto inicial) |
extensions | List<String> | getExtensions() | Todas las extensiones compatibles con este formato |
contentType | String | getContentType() | cadena de tipo MIME |
canExport | boolean | getCanExport() | Si la exportación a este formato es compatible |
canImport | boolean | getCanImport() | Si la importación desde este formato es compatible |
version | String | getVersion() | Cadena de versión del formato |
Métodos de instancia
| Example | Tipo de retorno | Example |
|---|---|---|
createLoadOptions() | LoadOptions | Crea el formato específico apropiado LoadOptions subclase |
createSaveOptions() | SaveOptions | Crea el formato específico apropiado SaveOptions subclase |
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());
}
}