Вступ
Ми випускаємо Aspose.3D FOSS для Python, чиста-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): отримує іменовані шари даних вершин для нормалей, UV, кольорів вершин та груп згладжування
Матеріали
LambertMaterial і PhongMaterial переносить властивості матеріалу, зчитані з OBJ .mtl файли (ambient, diffuse, specular, emissive, transparency, shininess). Матеріали зберігаються під час циклу завантаження‑збереження для форматів, які їх підтримують.
Математичні утиліти
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, і BoundingBox включені як легкі типи значень для геометричних обчислень.
Анімація
The AnimationClip, AnimationNode, KeyframeSequence, і 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 | Так | Так | Підходить для робочих процесів 3D-друку |
| FBX | .fbx | Частковий | N/A | Лише токенізатор; повний парсер у процесі розробки |
Визначення формату здійснюється автоматично за розширенням файлу. Параметри завантаження та збереження, специфічні для формату (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) доступні для тонкого налаштування.
Відкритий код і безкоштовний
Бібліотека має ліцензію MIT. Ви можете використовувати її у комерційних застосунках, модифікувати та розповсюджувати без обмежень. Джерело доступне на GitHub у організації Aspose.
Немає рівнів використання, обмежень токенів та телеметрії. Бібліотека виконує всю обробку локально.
Залежності: none. Пакет встановлюється як чистий Python wheel без C‑розширень і без сторонніх вимог під час виконання.
Початок роботи
- Встановити:
pip install aspose-3d-foss - Як це зробити: Завантаження файлів: Як завантажити 3D‑моделі в Python
- Як це зробити: Конвертація файлів: Як конвертувати 3D‑моделі в Python
- Довідник API: Aspose.3D FOSS для Python довідник API
- PyPI: aspose-3d-foss на PyPI
Висновок
Aspose.3D FOSS for Python 26.1.0 охоплює найпоширеніші 3D формати файлів, що використовуються в інструментах, конвеєрах та веб‑додатках (OBJ, STL, glTF, COLLADA та 3MF) з послідовним Python API та без проблем з установкою. Якщо ви зіткнетеся з помилкою, непідтримуваним випадком або форматом, який потрібно додати, будь ласка, відкрийте issue на GitHub. Ми активно підтримуємо бібліотеку і вітаємо внески.