Wprowadzenie

Wydajemy Aspose.3D FOSS dla Python, czystą biblioteką Python do odczytu, zapisu i konwersji popularnych formatów plików 3D. Biblioteka jest publikowana w PyPI jako aspose-3d-foss, posiada licencję MIT i nie ma żadnych zewnętrznych zależności.

Jeśli kiedykolwiek potrzebowałeś programowo przeglądać lub konwertować pliki 3D (wyodrębnić liczbę wierzchołków siatki, przekazać geometrię OBJ do skryptu przetwarzającego lub masowo konwertować pliki STL na glTF dla przeglądarki internetowej), ta biblioteka została stworzona właśnie do takiego zastosowania. Nie wymaga sterownika graficznego, natywnego modułu rozszerzeń ani żadnego połączenia z chmurą.


Co zawiera

Podstawowy graf sceny

Każdy plik jest ładowany do Scene obiektu, który odzwierciedla hierarchię węzłów oryginalnego pliku. Węzły zawierają Transform (przesunięcie, rotację, skalę) oraz jedną lub więcej podłączonych jednostek, takich jak Mesh, Camera, lub Light. Graf sceny jest taki sam niezależnie od formatu źródłowego, więc kod napisany do przeglądania i przetwarzania geometrii działa we wszystkich obsługiwanych formatach bez modyfikacji.

Dostęp do geometrii

Mesh obiekty udostępniają:

  • control_points: lista pozycji wierzchołków jako Vector4 (x, y, z, w)
  • polygons: lista list indeksów twarzy (dowolna liczba wierzchołków wielokąta, nie tylko trójkąty)
  • get_element(VertexElementType): pobiera nazwane warstwy danych wierzchołków dla normalnych, UV, kolorów wierzchołków i grup wygładzania

Materiały

LambertMaterial i PhongMaterial zawierają właściwości materiału odczytane z OBJ .mtl pliki (ambient, diffuse, specular, emissive, transparency, shininess). Materiały przetrwają cykl wczytania‑zapisania dla formatów, które je obsługują.

Narzędzia matematyczne

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, i BoundingBox są włączone jako lekkie typy wartości do obliczeń geometrycznych.

Animacja

Te AnimationClip, AnimationNode, KeyframeSequence, i KeyFrame klasy zapewniają dostęp do danych animacji klatek kluczowych z formatów, które je zawierają, takich jak glTF i COLLADA.


Szybki start

pip install aspose-3d-foss

Wczytaj plik 3D i wypisz liczbę wierzchołków każdego mesh:

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)

Konwertuj ten sam plik do glTF:

from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions

scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())

To jest kompletny program. Brak plików konfiguracyjnych, kluczy API, wywołań sieciowych.


Obsługiwane formaty

FormatExtension(s)ZaładujZapiszNotatki
Wavefront OBJ.objTakTak.mtl obsługa ładowania materiałów
STL.stlTakTakBinarny i ASCII; opcja odwrócenia układu współrzędnych
glTF 2.0.gltf, .glbTakTakObsługiwany GLB (samodzielny plik binarny)
COLLADA.daeTakTakColladaSaveOptions dostępny z flip_coordinate_system, enable_materials, indented
3MF.3mfTakTakOdpowiedni dla procesów druku 3D
FBX.fbxCzęściowyN/ATylko tokenizator; pełny parser w trakcie

Wykrywanie formatu jest automatyczne na podstawie rozszerzenia pliku. Opcje ładowania i zapisywania specyficzne dla formatu (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) są dostępne dla precyzyjnej kontroli.


Open Source i darmowa

Biblioteka jest licencjonowana na licencji MIT. Możesz używać jej w aplikacjach komercyjnych, modyfikować i rozpowszechniać bez ograniczeń. Źródło jest dostępne na GitHubie w organizacji Aspose.

Nie ma poziomów użytkowania, limitów tokenów ani telemetrii. Biblioteka wykonuje wszystkie przetwarzania lokalnie.

Zależności: brak. Pakiet instalowany jest jako czysty Python wheel bez rozszerzeń C i bez zależności runtime innych firm.


Rozpoczęcie pracy


Podsumowanie

Aspose.3D FOSS for Python 26.1.0 obejmuje najpopularniejsze formaty plików 3D używane w narzędziach, pipeline’ach i aplikacjach internetowych (OBJ, STL, glTF, COLLADA i 3MF) z konsekwentnym API Python i bez problemów z instalacją. Jeśli napotkasz błąd, nieobsługiwany przypadek brzegowy lub format, który trzeba dodać, otwórz zgłoszenie na GitHubie. Aktywnie utrzymujemy bibliotekę i zachęcamy do wkładu.