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)
| Example | Example | Example |
|---|---|---|
FileFormat.WAVEFRONT_OBJ() | .obj | Método estático que retorna um ObjFormat instância |
FileFormat.GLTF2() | .gltf / .glb | glTF 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() | .fbx | FBX 7.4 ASCII; apenas importação (sem exportação) |
FileFormat.STL_BINARY | .stl | STL binário (definido na carga da classe) |
FileFormat.STLASCII | .stl | STL 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
| Example | Tipo de Retorno | Example |
|---|---|---|
FileFormat.detect(InputStream stream, String fileName) | FileFormat | Detecta o formato a partir de um fluxo de arquivo; fileName é usado como sugestão |
FileFormat.getFormatByExtension(String ext) | FileFormat | Retorna o formato que corresponde a uma string de extensão como ".obj", ".glb", ".fbx", ".stl" |
Propriedades de instância
| Example | Example | Example | Example |
|---|---|---|---|
extension | String | getExtension() | Extensão de arquivo principal (sem ponto inicial) |
extensions | List<String> | getExtensions() | Todas as extensões suportadas por este formato |
contentType | String | getContentType() | String de tipo MIME |
canExport | boolean | getCanExport() | Se a exportação para este formato é suportada |
canImport | boolean | getCanImport() | Se a importação a partir deste formato é suportada |
version | String | getVersion() | String de versão do formato |
Métodos de instância
| Example | Tipo de retorno | Example |
|---|---|---|
createLoadOptions() | LoadOptions | Cria o específico de formato apropriado LoadOptions subclasse |
createSaveOptions() | SaveOptions | Cria 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());
}
}