Trường hợp sử dụng

Trường hợp sử dụng

Tổng quan

Aspose.3D là một thư viện định dạng tệp 3D mã nguồn mở cho Python cho phép các nhà phát triển tạo, thao tác và chuyển đổi các cảnh và mô hình 3D một cách lập trình. Nó hỗ trợ các quy trình làm việc 3D hiện đại bằng cách cung cấp I/O tệp mạnh mẽ và xử lý đồ thị cảnh.

Thư viện cung cấp hỗ trợ đầy đủ cho glTF (GL Transmission Format) với hỗ trợ vật liệu PBR, làm cho nó phù hợp cho các pipeline render trên web và thời gian thực. Cấu trúc nút phân cấp của nó cho phép tổ chức trực quan các cảnh 3D bằng các quan hệ cha‑con giữa các nút, cho phép quản lý cảnh có khả năng mở rộng cho các mô hình phức tạp.

Cách hoạt động

Aspose.3D for Python cung cấp khả năng kiểm soát lập trình các cảnh và mô hình 3D thông qua một mô hình đối tượng có cấu trúc, trung tâm quanh Scene, NodeEntity. Các nhà phát triển có thể tải các định dạng hiện có như STL (được sử dụng rộng rãi cho việc in 3D) hoặc xây dựng các cảnh từ đầu bằng các primitive cốt lõi như Mesh. Thư viện hỗ trợ quản lý lưới và thực thể, cho phép kiểm tra và sửa đổi dữ liệu đỉnh, cấu trúc đa giác và các mối quan hệ không gian trong cây phân cấp cảnh.

from aspose.threed import Scene
from aspose.threed.entities import Mesh

# Create a Mesh instance
mesh = Mesh()

# Access mesh data (control_points and edges are properties, not method calls)
vertices = mesh.control_points
edges = mesh.edges

Ví dụ mã

Ví dụ này minh họa việc tải mô hình 3D từ tệp OBJ với các tùy chọn tải, sau đó duyệt đồ thị cảnh để kiểm tra hình học lưới. Scene.from_file() chỉ chấp nhận đường dẫn tệp; sử dụng scene.open() để truyền các tùy chọn tải.

from aspose.threed import Scene
from aspose.threed.entities import Mesh
from aspose.threed.formats import ObjLoadOptions

# Import an OBJ file with load options
# Note: Scene.from_file() takes only a file path argument.
# To pass options, use scene.open() instead.
options = ObjLoadOptions()
options.enable_materials = True
options.flip_coordinate_system = False

scene = Scene()
scene.open("model.obj", options)

# Access imported data
for node in scene.root_node.child_nodes:
    if node.entity and isinstance(node.entity, Mesh):
        mesh = node.entity
        print(f"Mesh: {node.name}")
        print(f"  Vertices: {len(mesh.control_points)}")
        print(f"  Polygons: {mesh.polygon_count}")

Xem thêm

Aspose.3D cho phép phát triển Python 3D mạnh mẽ cho các công cụ trực quan hoá và ứng dụng tương tác. Các nhà phát triển có thể tạo và thao tác các cảnh 3D, nhập tệp OBJ với việc tải vật liệu qua ObjLoadOptions.enable_materials, xuất tệp OBJ bằng ObjExporter, và thực hiện các phép toán vectơ cấp thấp bằng các kiểu tích hợp như Vector4Matrix4.

 Tiếng Việt