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 versions 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(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__)