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‑выпуск)
| Example | Example | Example |
|---|---|---|
FileFormat.WAVEFRONT_OBJ() | .obj | Статический метод, возвращающий ObjFormat экземпляр |
FileFormat.GLTF2() | .gltf / .glb | glTF 2.0; статический метод, возвращающий GltfFormat экземпляр |
FileFormat.FBX7400ASCII() | .fbx | FBX 7.4 ASCII; статический метод |
FileFormat.MICROSOFT_3MF | .3mf | 3MF (set at module load) |
FileFormat.COLLADA | .dae | Example |
FileFormat.STL_BINARY | .stl | STL binary (устанавливается при загрузке модуля) |
FileFormat.STLASCII | .stl | STL 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) | `FileFormat | None` |
FileFormat.get_format_by_extension(ext) | `FileFormat | None` |
Свойства экземпляра
| Example | Example | Example |
|---|---|---|
extension | str | Основное расширение файла (без начальной точки) |
extensions | list[str] | Все расширения, поддерживаемые этим форматом |
content_type | str | Строка MIME‑типа |
can_export | bool | Поддерживается ли экспорт в этот формат |
can_import | bool | Поддерживается ли импорт из этого формата |
version | str | Строка версии формата |
Методы экземпляра
| 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__)