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)

ExampleExampleExample
FileFormat.WAVEFRONT_OBJ().objMétodo estático que devuelve un ObjFormat instancia
FileFormat.GLTF2().gltf / .glbglTF 2.0 y GLB; método estático que devuelve un GltfFormat instancia. Utilice GltfSaveOptions con setContentType(FileContentType.BINARY) para salida GLB.
FileFormat.FBX7400ASCII().fbxFBX 7.4 ASCII; solo importación (sin exportación)
FileFormat.STL_BINARY.stlSTL binario (establecido al cargar la clase)
FileFormat.STLASCII.stlSTL 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

ExampleTipo de retornoExample
FileFormat.detect(InputStream stream, String fileName)FileFormatDetecta el formato a partir de un flujo de archivo; fileName se usa como pista
FileFormat.getFormatByExtension(String ext)FileFormatDevuelve el formato que coincide con una cadena de extensión como ".obj", ".glb", ".fbx", ".stl"

Propiedades de instancia

ExampleExampleExampleExample
extensionStringgetExtension()Extensión de archivo principal (sin el punto inicial)
extensionsList<String>getExtensions()Todas las extensiones compatibles con este formato
contentTypeStringgetContentType()cadena de tipo MIME
canExportbooleangetCanExport()Si la exportación a este formato es compatible
canImportbooleangetCanImport()Si la importación desde este formato es compatible
versionStringgetVersion()Cadena de versión del formato

Métodos de instancia

ExampleTipo de retornoExample
createLoadOptions()LoadOptionsCrea el formato específico apropiado LoadOptions subclase
createSaveOptions()SaveOptionsCrea 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());
    }
}

Ver también

 Español