Úvodní článek
Uvolňujeme… 3D FOSS pro Python, čistá knihovna Pythonu pro čtení, psaní a konverzi běžných 3D souborových formátů. Knihovna je publikována na PyPI jako aspose-3d-foss, má licenci MIT a nemá žádné vnější závislosti.
Pokud jste někdy potřebovali zkontrolovat nebo konverzovat 3D soubory programově (vyjmout počet mřížových vrchů, přenést geometrii OBJ do procesorového skriptu nebo batch-konverzoval STL soubory na glTF pro webový divák), tato knihovna je postavená pro tento případ použití. Nepotřebuje grafický ovladač, nativní rozšíření modul ani jakékoliv cloudové připojení.
Co se v ní nachází?
Graf hlavní scény
Každý soubor je načten do Scene objekt, který odráží hierarchii uzlů původního souboru. Transform (překlad, rotace, měřítko) a jedním nebo více připojenými subjekty jako jsou: Mesh, Camera,nebo: Light.Graf scény je stejný bez ohledu na zdrojový formát, takže kód napsán pro chodbu a procesní geometrii funguje ve všech podporovaných formátech bez úpravy.
Přístup geometrie
Mesh předměty odhalují:
control_points: seznam pozic vrcholu jako:Vector4(x, y, z, w)polygons: seznam indexů obličej (volitelná arita polygonů, nejen trojúhelníků)get_element(VertexElementType): získávat jmenované vrcholové datové vrstvy pro normály, UV, barvy vrcholu a hladící skupiny
Materiály
LambertMaterial a) PhongMaterial nesou vlastnosti materiálu odčítané z OBJ, .mtl Materiály přežívají zatížení, ale pro formáty podporující je zachovávají návrat.
Matematické nástroje
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4,a) BoundingBox jsou zahrnuty jako typy lehkých hodnot pro výpočty geometrie.
Animování
Úřad pro bezpečnost a ochranu zdraví AnimationClip, AnimationNode, KeyframeSequence,a) KeyFrame třídy poskytují přístup k animačním datům klíčového rámce z formátů, které ho přenášejí, jako jsou glTF a COLLADA.
Rychlý start
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Nahrát 3D soubor a vytisknout počet vrchů každého okruhu:
from aspose.threed import Scene
from aspose.threed.entities import Mesh
scene = Scene.from_file("model.obj")
def visit(node):
for entity in node.entities:
if isinstance(entity, Mesh):
print(f"{node.name}: {len(entity.control_points)} vertices, "
f"{len(entity.polygons)} polygons")
for child in node.child_nodes:
visit(child)
visit(scene.root_node)
Konvertujte stejný soubor na glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Žádné konfigurační soubory, API klíče ani síťové hovory.
Podporované formáty
| Formát | Extension(s) | Náklad | Uložení | Poznámky |
|---|---|---|---|---|
| OBJ | .obj | Ano , ano . | Ano , ano . | .mtl podporované zatížení materiálu |
| STL | .stl | Ano , ano . | Ano , ano . | Binární a ASCII; možnost převrácení souřadnicového systému |
| glTF | .gltf, .glb | Ano , ano . | Ano , ano . | .glb (samostatný binární) podporovaný |
| COLLADA | .dae | Ano , ano . | Ano , ano . | ColladaSaveOptions dostupný s: flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Ano , ano . | Ano , ano . | Přípustné pro pracovní postupy 3D tisku |
| FBX | .fbx | Částečná část | N/A | Pouze tokenizer; plný parser v provozu |
Detekce formátu je automatická z rozšíření souboru. Možnosti načítání a ukládání specifické pro daný formát (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) jsou k dispozici pro kontrolu jemných zrn.
Open Source a zdarma
Knihovna je licencovaná MIT. Můžete ji používat v komerčních aplikacích, upravovat a redistribuovat bez omezení. Zdroj je k dispozici na GitHub pod organizací Aspose .
Knihovna provádí veškeré zpracování lokálně.
Závislost na jiných produktech:Paket se instaluje jako čisté pythonové kolo bez rozšíření C a žádných požadavků na dobu spuštění třetí strany.
Jak začít?
- Instalace:
pip install aspose-3d-foss - Jak: Nahrávání souborů: Jak načítat 3D modely v Pythonu?
- Jak: Konverzovat soubory: Jak přeměnit 3D modely v Pythonu
- Odkaz na API: Aspose.3D FOSS pro Python API Reference
- PyPI: Aspose-3d-foss na PyPI
Výsledky
3D FOSS pro Python 26.1.0 pokrývá nejběžnější formáty souborů 3d používané v nástrojích, potrubí a webových aplikacích (OBJ, STL, glTF, COLLADA a 3MF) s konzistentním API Pythonu a bez žádné instalační tření. Pokud narazíte na chybu, nepodporovaný případ okraje nebo formát, který potřebujete přidat, otevřete problém na GitHub. Aktivně udržujeme knihovnu a vítajme příspěvky.