FileFormat — Aspose.3D FOSS for Python API Reference

Example

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

Example: aspose.threed

from aspose.threed import FileFormat

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

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

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

ExampleExampleExample
FileFormat.WAVEFRONT_OBJ().objСтатический метод, возвращающий ObjFormat экземпляр
FileFormat.GLTF2().gltf / .glbglTF 2.0; статический метод, возвращающий GltfFormat экземпляр
FileFormat.FBX7400ASCII().fbxFBX 7.4 ASCII; статический метод
FileFormat.MICROSOFT_3MF.3mf3MF (set at module load)
FileFormat.COLLADA.daeExample
FileFormat.STL_BINARY.stlSTL binary (устанавливается при загрузке модуля)
FileFormat.STLASCII.stlSTL ASCII

Example

FBX версии 6100–7700 (бинарный), Maya ASCII/бинарный, Discreet 3DS, Universal 3D, GLTF 1.0, GLTF бинарный, PDF, Blender, DXF, PLY, X (бинарный/текстовый), Draco, RVM, ASE, IFC, Siemens JT, AMF, VRML, HTML5, ZIP, USD/USDA/USDZ, XYZ, PCD, PCD бинарный.

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

ExampleТип возвращаемого значенияExample
FileFormat.detect(stream, file_name)`FileFormatNone`
FileFormat.get_format_by_extension(ext)`FileFormatNone`

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

ExampleExampleExample
extensionstrОсновное расширение файла (без начальной точки)
extensionslist[str]Все расширения, поддерживаемые этим форматом
content_typestrСтрока MIME‑типа
can_exportboolПоддерживается ли экспорт в этот формат
can_importboolПоддерживается ли импорт из этого формата
versionstrСтрока версии формата

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

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

Example

from aspose.threed import Scene, FileFormat

# Auto-detect and load
scene = Scene.from_file("model.obj")

# Save with explicit format (force GLB binary)
from aspose.threed.formats import GltfSaveOptions
opts = GltfSaveOptions()
opts.binary_mode = True
scene.save("output.glb", opts)

# Get format by extension
fmt = FileFormat.get_format_by_extension(".fbx")
if fmt:
    print(fmt.can_import)   # True
    print(fmt.can_export)   # True

# Create options from a format instance
fmt_obj = FileFormat.get_format_by_extension(".obj")
load_opts = fmt_obj.create_load_options()   # ObjLoadOptions
save_opts = fmt_obj.create_save_options()   # ObjSaveOptions

# Detect format from file stream
with open("unknown_file.bin", "rb") as f:
    detected = FileFormat.detect(f, "unknown_file.bin")
    if detected:
        print(type(detected).__name__)

См. также

 Русский