FileFormat — Aspose.3D FOSS for Java

Example

FileFormat serve tanto como descritor de formato quanto como um registro de todos os formatos de arquivo 3D suportados. Cada formato é representado como um FileFormat instância acessível como um atributo de classe ou via métodos de fábrica estáticos. Você passa FileFormat instâncias para Scene.save() forçar um formato específico, ou usar FileFormat.detect() para identificar o formato de um arquivo desconhecido.

Example: com.aspose.threed

import com.aspose.threed.FileFormat;

Constantes de Formato Suportados

Constantes de formato que são ativamente suportadas (importadores e/ou exportadores registrados) na versão FOSS são mostradas abaixo.

Suportado Ativamente (versão FOSS)

ExampleExampleExample
FileFormat.WAVEFRONT_OBJ().objMétodo estático que retorna um ObjFormat instância
FileFormat.GLTF2().gltf / .glbglTF 2.0 e GLB; método estático que retorna um GltfFormat instância. Use GltfSaveOptions com setContentType(FileContentType.BINARY) para saída GLB.
FileFormat.FBX7400ASCII().fbxFBX 7.4 ASCII; apenas importação (sem exportação)
FileFormat.STL_BINARY.stlSTL binário (definido na carga da classe)
FileFormat.STLASCII.stlSTL ASCII

Example

Versões FBX 6100-7700 (binário), Maya ASCII/Binário, Discreet 3DS, Universal 3D, GLTF 1.0, GLTF binário, PDF, Blender, DXF, PLY, X (binário/texto), Draco, RVM, ASE, IFC, Siemens JT, AMF, VRML, HTML5, ZIP, USD/USDA/USDZ, XYZ, PCD, PCD binário.

Métodos estáticos

ExampleTipo de RetornoExample
FileFormat.detect(InputStream stream, String fileName)FileFormatDetecta o formato a partir de um fluxo de arquivo; fileName é usado como sugestão
FileFormat.getFormatByExtension(String ext)FileFormatRetorna o formato que corresponde a uma string de extensão como ".obj", ".glb", ".fbx", ".stl"

Propriedades de instância

ExampleExampleExampleExample
extensionStringgetExtension()Extensão de arquivo principal (sem ponto inicial)
extensionsList<String>getExtensions()Todas as extensões suportadas por este formato
contentTypeStringgetContentType()String de tipo MIME
canExportbooleangetCanExport()Se a exportação para este formato é suportada
canImportbooleangetCanImport()Se a importação a partir deste formato é suportada
versionStringgetVersion()String de versão do formato

Métodos de instância

ExampleTipo de retornoExample
createLoadOptions()LoadOptionsCria o específico de formato apropriado LoadOptions subclasse
createSaveOptions()SaveOptionsCria o específico de formato apropriado SaveOptions subclasse

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());
    }
}

Veja também

 Português