FileFormat — Aspose.3D FOSS for Python API Reference
Example
FileFormat servește atât ca descriptor de format, cât și ca registru al tuturor formatelor de fișiere 3D acceptate. Fiecare format este reprezentat ca un FileFormat instanță accesibilă ca atribut de clasă sau prin metode statice de fabrică. Transmiți FileFormat instanțe către Scene.save() pentru a forța un format specific, sau folosește FileFormat.detect() pentru a identifica formatul unui fișier necunoscut.
Example: aspose.threed
from aspose.threed import FileFormatConstante de format suportate
Constantele de format care sunt susținute activ (importatori și/sau exportatori înregistrați) în versiunea FOSS sunt afișate mai jos. Constantele listate ca None în sursă sunt nume rezervate pentru formate încă neimplementate.
Suportate activ (versiune FOSS)
| Example | Example | Example |
|---|---|---|
FileFormat.WAVEFRONT_OBJ() | .obj | Metodă statică care returnează un ObjFormat instanță |
FileFormat.GLTF2() | .gltf / .glb | glTF 2.0; metodă statică care returnează un GltfFormat instanță |
FileFormat.FBX7400ASCII() | .fbx | FBX 7.4 ASCII; metodă statică |
FileFormat.MICROSOFT_3MF | .3mf | 3MF (set at module load) |
FileFormat.COLLADA | .dae | Example |
FileFormat.STL_BINARY | .stl | STL binar (setat la încărcarea modulului) |
FileFormat.STLASCII | .stl | STL ASCII |
Example
versiuni FBX 6100–7700 (binare), Maya ASCII/Binar, Discreet 3DS, Universal 3D, GLTF 1.0, GLTF binar, PDF, Blender, DXF, PLY, X (binar/text), Draco, RVM, ASE, IFC, Siemens JT, AMF, VRML, HTML5, ZIP, USD/USDA/USDZ, XYZ, PCD, PCD binar.
Metode statice
| Example | Tip de returnare | Example |
|---|---|---|
FileFormat.detect(stream, file_name) | `FileFormat | None` |
FileFormat.get_format_by_extension(ext) | `FileFormat | None` |
Proprietăți ale instanței
| Example | Example | Example |
|---|---|---|
extension | str | Extensia principală a fișierului (fără punctul inițial) |
extensions | list[str] | Toate extensiile suportate de acest format |
content_type | str | Șir de tip MIME |
can_export | bool | Indică dacă exportul în acest format este suportat |
can_import | bool | Indică dacă importul din acest format este suportat |
version | str | Șir de versiune al formatului |
Metode de instanță
| Example | Tip de returnare | Example |
|---|---|---|
create_load_options() | LoadOptions | Creează formatul specific adecvat LoadOptions subclasă |
create_save_options() | SaveOptions | Creează formatul specific adecvat SaveOptions subclasă |
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__)