사용 사례

개요

Aspose.3D는 Python용 오픈소스 3D 파일 형식 라이브러리로, 개발자가 프로그래밍 방식으로 3D 씬 및 모델을 생성, 조작 및 변환할 수 있게 합니다. 견고한 파일 I/O 및 씬 그래프 처리를 제공함으로써 최신 3D 워크플로를 지원합니다.

이 라이브러리는 PBR 재질 지원이 포함된 glTF(GL Transmission Format)를 완벽히 지원하여 웹 및 실시간 렌더링 파이프라인에 적합합니다. 계층적 노드 구조를 통해 노드 간 부모‑자식 관계를 사용하여 3D 씬을 직관적으로 구성할 수 있어 복잡한 모델에 대한 확장 가능한 씬 관리가 가능합니다.

작동 방식

Aspose.3D for Python은 Scene, NodeEntity를 중심으로 하는 구조화된 객체 모델을 통해 3D 씬 및 모델에 대한 프로그래밍 제어를 제공합니다. 개발자는 STL(3D 프린팅에 널리 사용됨)과 같은 기존 형식을 로드하거나 Mesh와 같은 핵심 프리미티브를 사용하여 처음부터 씬을 구성할 수 있습니다. 이 라이브러리는 메쉬 및 엔터티 관리를 지원하여 정점 데이터, 폴리곤 토폴로지 및 씬 계층 구조 내의 공간 관계를 검사하고 수정할 수 있게 합니다.

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

코드 예제

이 예제는 로드 옵션을 사용하여 OBJ 파일에서 3D 모델을 로드한 다음, 씬 그래프를 순회하며 메시 기하학을 검사하는 방법을 보여줍니다. Scene.from_file()은 파일 경로만 허용합니다; 로드 옵션을 전달하려면 scene.open()을 사용하십시오.

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}")

관련 항목

Aspose.3D는 시각화 도구와 인터랙티브 애플리케이션을 위한 강력한 3D Python 개발을 가능하게 합니다. 개발자는 3D 씬을 생성하고 조작할 수 있으며, ObjLoadOptions.enable_materials을 통해 재질 로딩이 포함된 OBJ 파일을 가져오고, ObjExporter을 사용하여 OBJ 파일을 내보내며, Vector4Matrix4과 같은 내장 타입을 사용하여 저수준 벡터 수학을 수행할 수 있습니다.

 한국어