FileFormat — Aspose.3D FOSS for Java

Example

FileFormat служит одновременно описателем формата и реестром всех поддерживаемых 3D файловых форматов. Каждый формат представлен как FileFormat экземпляр, доступный как атрибут класса или через статические методы‑фабрики. Вы передаёте FileFormat экземпляры в Scene.save() чтобы принудительно задать конкретный формат, или используйте FileFormat.detect() для определения формата неизвестного файла.

Example: com.aspose.threed

import com.aspose.threed.FileFormat;

Поддерживаемые константы форматов

Ниже показаны константы форматов, которые активно поддерживаются (зарегистрированы импортеры и/или экспортеры) в FOSS‑выпуске.

Активно поддерживаемые (FOSS‑выпуск)

ExampleExampleExample
FileFormat.WAVEFRONT_OBJ().objСтатический метод, возвращающий ObjFormat экземпляр
FileFormat.GLTF2().gltf / .glbglTF 2.0 и GLB; статический метод, возвращающий a GltfFormat экземпляр. Используйте GltfSaveOptions с setContentType(FileContentType.BINARY) для вывода GLB.
FileFormat.FBX7400ASCII().fbxFBX 7.4 ASCII; только импорт (без экспорта)
FileFormat.STL_BINARY.stlSTL binary (устанавливается при загрузке класса)
FileFormat.STLASCII.stlSTL ASCII

Example

версии FBX 6100-7700 (binary), Maya ASCII/Binary, Discreet 3DS, Universal 3D, GLTF 1.0, GLTF binary, PDF, Blender, DXF, PLY, X (binary/text), Draco, RVM, ASE, IFC, Siemens JT, AMF, VRML, HTML5, ZIP, USD/USDA/USDZ, XYZ, PCD, PCD binary.

Статические методы

ExampleТип возвращаемого значенияExample
FileFormat.detect(InputStream stream, String fileName)FileFormatОпределяет формат из файлового потока; fileName используется как подсказка
FileFormat.getFormatByExtension(String ext)FileFormatВозвращает формат, соответствующий строке расширения, например ".obj", ".glb", ".fbx", ".stl"

Свойства экземпляра

ExampleExampleExampleExample
extensionStringgetExtension()Основное расширение файла (без начальной точки)
extensionsList<String>getExtensions()Все расширения, поддерживаемые этим форматом
contentTypeStringgetContentType()Строка MIME‑типа
canExportbooleangetCanExport()Поддерживается ли экспорт в этот формат
canImportbooleangetCanImport()Поддерживается ли импорт из этого формата
versionStringgetVersion()Строка версии формата

Методы экземпляра

ExampleТип возвращаемого значенияExample
createLoadOptions()LoadOptionsСоздаёт соответствующий формату LoadOptions подкласс
createSaveOptions()SaveOptionsСоздаёт соответствующий формату SaveOptions подкласс

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

См. также

 Русский