מבוא

אנו משחררים Aspose.3D FOSS עבור Python, ספרייה pure-Python לקריאה, כתיבה והמרת פורמטים נפוצים של קבצי 3D. הספרייה מתפרסמת ב‑PyPI בשם aspose-3d-foss, נושאת רישיון MIT, ואין לה תלות חיצונית.

אם אי פעם נדרש לך לבדוק או להמיר קבצי 3D באופן תכנותי (לחלץ ספירות קודקודי רשת, להעביר גאומטריית OBJ לסקריפט עיבוד, או לבצע המרה קבוצתית של קבצי STL ל‑glTF לצורך מציג אינטרנט), ספרייה זו נבנתה למקרה שימוש זה. היא אינה דורשת מנהל גרפיקה, מודול הרחבה מקורי, או חיבור ענן.


מה נכלל

גרף סצנה מרכזי

כל קובץ נטען לתוך Scene אובייקט המשקף את היררכיית הצמתים של הקובץ המקורי. צמתים נושאים Transform (תרגום, סיבוב, קנה מידה) וישות אחת או יותר מחוברת כגון Mesh, Camera, או Light. גרף הסצנה זהה ללא קשר לפורמט המקור, ולכן קוד שנכתב כדי לעבור ולעבד גאומטריה פועל על כל הפורמטים הנתמכים ללא שינוי.

גישה לגאומטריה

Mesh אובייקטים מציגים:

  • control_points:רשימת מיקומי קודקוד כ Vector4 (x, y, z, w)
  • polygons:רשימת רשימות אינדקסים של משטחים (אריות פוליגון שרירותיות, לא רק משולשים)
  • get_element(VertexElementType):מקבל שכבות נתוני קודקוד בשם עבור נורמליות, UVs, צבעי קודקוד וקבוצות החלקה

חומרים

LambertMaterial ו PhongMaterial להעביר את תכונות החומר שנקראו מ‑OBJ .mtl קבצים (ambient, diffuse, specular, emissive, transparency, shininess). חומרים שורדים את מסע הטעינה‑שמירה עבור פורמטים התומכים בהם.

כלי מתמטיקה

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, ו BoundingBox נכללים כסוגי ערך קלים לחישובי גאומטריה.

הנפשה

ה AnimationClip, AnimationNode, KeyframeSequence, ו KeyFrame מחלקות מספקות גישה לנתוני אנימציית keyframe מפורמטים שנושאים אותם, כגון glTF ו‑COLLADA.


התחלה מהירה

pip install aspose-3d-foss

טען קובץ 3D והדפס את מספר הקודקודים של כל רשת:

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)

המרת הקובץ הזה ל‑glTF:

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

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

זהו התוכנית המלאה. אין קבצי תצורה, אין מפתחות API, אין קריאות רשת.


פורמטים נתמכים

פורמטExtension(s)טעןשמורהערות
Wavefront OBJ.objכןכן.mtl טעינת חומרים נתמכת
STL.stlכןכןבינארי ו-ASCII; אפשרות הפיכת מערכת הקואורדינטות
glTF 2.0.gltf, .glbכןכןGLB (בינארי עצמאי) נתמך
COLLADA.daeכןכןColladaSaveOptions זמין עם flip_coordinate_system, enable_materials, indented
3MF.3mfכןכןמתאים לתהליכי עבודה של הדפסת תלת‑ממד
FBX.fbxחלקיN/ATokenizer בלבד; full parser בתהליך

זיהוי הפורמט הוא אוטומטי מהרחבת הקובץ. אפשרויות טעינה ושמירה ספציפיות לפורמט (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions).


קוד פתוח וחינמי

הספרייה מורשית ברישיון MIT. ניתן להשתמש בה ביישומים מסחריים, לשנות אותה ולחלק אותה מחדש ללא מגבלות. הקוד זמין ב‑GitHub תחת הארגון Aspose.

אין רמות שימוש, אין מגבלות אסימונים, ואין טלמטריה. הספרייה מבצעת את כל העיבוד באופן מקומי.

תלויות: אין. החבילה מותקנת כגלגל pure-Python ללא הרחבות C וללא דרישות זמן ריצה של צד שלישי.


התחלה


סיכום

Aspose.3D FOSS עבור Python גרסה 26.1.0 מכסה את פורמטי הקבצים התלת‑ממדיים הנפוצים ביותר המשמשים בכלים, צינורות עבודה ויישומי אינטרנט (OBJ, STL, glTF, COLLADA, ו‑3MF) עם API Python עקבי וללא חיכוך בהתקנה. אם אתה נתקל בבאג, במצב קצה שאינו נתמך, או בפורמט שצריך להוסיף, אנא פתח נושא ב‑GitHub. אנו מתחזקים את הספרייה באופן פעיל ומקבלים תרומות בברכה.