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; статичен метод, връщащ GltfFormat екземпляр. Използвайте GltfSaveOptions с setContentType(FileContentType.BINARY) за GLB изход.
FileFormat.FBX7400ASCII().fbxFBX 7.4 ASCII; само импорт (без експортиране)
FileFormat.STL_BINARY.stlSTL бинарен (задано при зареждане на класа)
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());
    }
}

Вижте също

 Български