Giới thiệu
Chúng tôi đang phát hành Aspose.3D FOSS for Python, một thư viện Python thuần cho việc đọc, ghi và chuyển đổi các định dạng tệp 3D phổ biến. Thư viện được phát hành trên PyPI với tên aspose-3d-foss, có giấy phép MIT và không có bất kỳ phụ thuộc bên ngoài nào.
Nếu bạn từng cần kiểm tra hoặc chuyển đổi các tệp 3D một cách lập trình (trích xuất số lượng đỉnh lưới, truyền geometry OBJ vào một script xử lý, hoặc chuyển đổi hàng loạt các tệp STL sang glTF cho trình xem web), thư viện này được xây dựng cho trường hợp đó. Nó không yêu cầu driver đồ họa, mô-đun mở rộng gốc, hay bất kỳ kết nối đám mây nào.
Nội dung bao gồm
Đồ thị Cảnh lõi
Mỗi tệp được tải vào một Scene đối tượng phản ánh cấu trúc cây nút của tệp gốc. Các nút chứa Transform (dịch chuyển, quay, tỷ lệ) và một hoặc nhiều thực thể đính kèm như Mesh, Camera, hoặc Light. Đồ thị cảnh (scene graph) là như nhau bất kể định dạng nguồn, vì vậy mã được viết để duyệt và xử lý hình học sẽ hoạt động trên tất cả các định dạng được hỗ trợ mà không cần sửa đổi.
Truy cập hình học
Mesh các đối tượng cung cấp:
control_points: danh sách vị trí đỉnh dưới dạngVector4(x, y, z, w)polygons: danh sách các danh sách chỉ mục mặt (đa giác tùy ý, không chỉ tam giác)get_element(VertexElementType): truy xuất các lớp dữ liệu đỉnh có tên cho các vector pháp tuyến, UV, màu đỉnh và nhóm làm mịn
Vật liệu
LambertMaterial và PhongMaterial chứa các thuộc tính vật liệu được đọc từ OBJ .mtl tệp (ambient, diffuse, specular, emissive, transparency, shininess). Các vật liệu vẫn tồn tại qua vòng tải‑lưu cho các định dạng hỗ trợ chúng.
Tiện ích Toán học
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, và BoundingBox được bao gồm như các kiểu giá trị lightweight cho các phép tính hình học.
Hoạt hình
Cái AnimationClip, AnimationNode, KeyframeSequence, và KeyFrame các lớp cung cấp quyền truy cập vào dữ liệu hoạt hình keyframe từ các định dạng hỗ trợ, chẳng hạn như glTF và COLLADA.
Bắt đầu nhanh
pip install aspose-3d-foss
Tải một tệp 3D và in số lượng đỉnh của mỗi lưới:
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)
Chuyển đổi cùng tệp sang glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Đó là chương trình hoàn chỉnh. Không có tệp cấu hình, không có khóa API, không có cuộc gọi mạng.
Các định dạng được hỗ trợ
| Định dạng | Extension(s) | Tải | Lưu | Ghi chú |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Có | Có | .mtl hỗ trợ tải vật liệu |
| STL | .stl | Có | Có | Nhị phân và ASCII; tùy chọn lật hệ tọa độ |
| glTF 2.0 | .gltf, .glb | Có | Có | GLB (binary tự chứa) được hỗ trợ |
| COLLADA | .dae | Có | Có | ColladaSaveOptions có sẵn với flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Có | Có | Phù hợp cho quy trình in 3D |
| FBX | .fbx | Một phần | N/A | Chỉ tokenizer; trình phân tích đầy đủ đang được phát triển |
Việc phát hiện định dạng được thực hiện tự động dựa trên phần mở rộng tệp. Các tùy chọn tải và lưu riêng cho từng định dạng (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions).
Mã nguồn mở và miễn phí
Thư viện được cấp phép MIT. Bạn có thể sử dụng nó trong các ứng dụng thương mại, sửa đổi và phân phối lại mà không có hạn chế. Mã nguồn có sẵn trên GitHub dưới tổ chức Aspose.
Không có các cấp độ sử dụng, không giới hạn token, và không có telemetry. Thư viện thực hiện toàn bộ xử lý cục bộ.
Phụ thuộc: không có. Gói được cài đặt dưới dạng bánh xe pure-Python mà không có phần mở rộng C và không yêu cầu thời gian chạy của bên thứ ba.
Bắt đầu
- Cài đặt:
pip install aspose-3d-foss - Hướng dẫn: Tải tệp: Cách tải mô hình 3D trong Python
- Hướng dẫn: Chuyển đổi tệp: Cách chuyển đổi mô hình 3D trong Python
- Tham chiếu API: Aspose.3D FOSS cho Python Tham chiếu API
- PyPI: aspose-3d-foss trên PyPI
Kết luận
Aspose.3D FOSS cho Python 26.1.0 bao gồm các định dạng tệp 3D phổ biến nhất được sử dụng trong công cụ, quy trình và ứng dụng web (OBJ, STL, glTF, COLLADA và 3MF) với API Python nhất quán và không gây khó khăn trong việc cài đặt. Nếu bạn gặp lỗi, trường hợp biên giới không được hỗ trợ, hoặc một định dạng bạn cần thêm, vui lòng mở một issue trên GitHub. Chúng tôi duy trì thư viện một cách tích cực và hoan nghênh các đóng góp.