1. 제품
  2.   3D
  3.   Python
  4.   PythonOCC-Core
 
  

3D 모델링 및 데이터 교환을 위한 오픈 소스 파이썬 라이브러리

3D 모델링 및 데이터 교환 처리를 위한 무료 파이썬 라이브러리. 파이썬 API를 통해 온라인으로 3D CAD, BIM, PLM 및 CAM 파일 형식을 작업할 수 있습니다.

PythonOCC-Core 라이브러리는 무엇인가요?

PythonOCC-Core는 무료 3D 모델링 및 CAD 자동화 라이브러리입니다. 이 라이브러리는 널리 사용되는 프로그래밍 언어인 Python을 OpenCASCADE Technology (OCCT) 커널 위에 사용합니다. 이 조합은 복잡한 3D 형상을 만들고, 수정하고, 연구하기 위한 강력한 기반을 제공합니다. Python의 쉬운 사용성과 OCCT의 강력한 모델링 도구를 결합함으로써, 여러분은 다재다능하고 효율적인 도구를 손에 넣을 수 있습니다. 직관적인 Python 인터페이스와 방대한 기능 세트를 갖춘 이 라이브러리는 초보자와 숙련된 개발자 모두에게 원활한 경험을 제공합니다. 이는 건축가와 엔지니어가 파라메트릭 모델을 제작하고, 건물 레이아웃을 생성하며, 구조 분석을 수행하도록 돕습니다. 이 도구는 설계 워크플로우를 개선하여 정밀한 시각화와 효과적인 팀워크를 가능하게 합니다. 자동차, 항공우주, 제품 디자인 등 다양한 분야에서 복잡한 3D 모델을 개발하고 정교화하는 데 인기가 있습니다. 이 라이브러리를 사용하면 프로토타이핑, 시뮬레이션 및 설계 분석을 신속하게 진행할 수 있어 제품 개발 과정을 단순화합니다.

PythonOCC-Core의 시각화 기능은 게임 및 가상 현실 경험을 만드는 데 완벽합니다. 이 도구를 사용하면 매력적인 환경, 실감 나는 시뮬레이션 및 인터랙티브한 모험을 구축할 수 있습니다. 그 외에도 이 라이브러리는 의료 영상 작업, 3D 기하학 조작, CAD 데이터 가져오기 및 내보내기, 3D 모델에 대한 고급 시뮬레이션 실행, 웹 브라우저에서 3D 콘텐츠 시각화, 그리고 인기 있는 Python GUI를 통한 3D 시각화 표시와 같은 필수 기능을 제공합니다. 이 라이브러리는 또한 계산 물리학, 재료 과학, 생물 의공학과 같은 과학 연구 분야에서 중요한 역할을 합니다. 다양한 산업 분야의 많은 소프트웨어 전문가와 개발자들은 Python의 쉬움과 OCCT의 강점을 결합한 PythonOCC-Core를 매력적으로 생각합니다. PythonOCC-Core를 사용하면 창의성을 높이고 복잡한 CAD 프로세스를 간소화할 수 있습니다. 이는 3D 모델링 및 설계에서 혁신과 생산성에 새로운 가능성을 열어줍니다.

Previous Next

PythonOCC-Core 시작하기

PythonOCC-Core 안정 버전을 설치하는 가장 쉬운 방법은 pip를 사용하는 것입니다. 원활한 설치를 위해 다음 명령을 사용하십시오.

pip을 통해 PythonOCC-Core 설치

pip install pythonocc-core

Conda를 통해 PythonOCC-Core 설치

conda install -c conda-forge pythonocc-core

다음 명령을 사용하여 Conda를 통해 PythonOCC-Core를 설치할 수도 있습니다.

conda install -c 1adrianb face_alignment

컴파일된 공유 라이브러리를 GitHub 저장소에서 다운로드할 수 있습니다.

Python을 사용하여 3D 기하학 생성 및 관리

오픈 소스 PythonOCC-Core 라이브러리는 Python 애플리케이션 내에서 3D 모델을 생성하고 관리하는 완전한 지원을 포함하고 있습니다. 또한, 이 라이브러리는 점, 곡선, 표면 및 솔리드와 같은 3D 기하학적 형태를 생성하고 조작하기 위한 광범위한 도구 세트를 제공합니다. 부울 연산, 필렛, 챔퍼링과 같은 복잡한 객체를 구성하고 수정하는 다양한 알고리즘을 제공합니다. 다음 예제는 소프트웨어 개발자가 파이썬 명령을 사용하여 핵심 기하학 경계 상자를 생성하는 방법을 보여줍니다.

Python 앱 내에서 경계 상자를 계산하고 표시하는 방법은?

def get_boundingbox(shape, tol=1e-6, use_mesh=True):

bbox = Bnd_Box()
    bbox.SetGap(tol)
    if use_mesh:
        mesh = BRepMesh_IncrementalMesh()
        mesh.SetParallelDefault(True)
        mesh.SetShape(shape)
        mesh.Perform()
        if not mesh.IsDone():
            raise AssertionError("Mesh not done.")
    brepbndlib_Add(shape, bbox, use_mesh)

    xmin, ymin, zmin, xmax, ymax, zmax = bbox.Get()
    return xmin, ymin, zmin, xmax, ymax, zmax, xmax - xmin, ymax - ymin, zmax - zmin


print("Box bounding box computation")
box_shape = BRepPrimAPI_MakeBox(10.0, 20.0, 30.0).Shape()
bb1 = get_boundingbox(box_shape)
print(bb1)

print("Cylinder bounding box computation")
cyl_shape = BRepPrimAPI_MakeCylinder(10.0, 20.0).Shape()
bb2 = get_boundingbox(cyl_shape)
print(bb2)

print("Torus bounding box computation")
torus_shape = BRepPrimAPI_MakeCylinder(15.0, 5.0).Shape()
bb3 = get_boundingbox(torus_shape)
print(bb3)

 

Python API를 이용한 CAD 자동화

오픈 소스 PythonOCC-Core 라이브러리는 CAD 도면과 관련된 다양한 작업을 처리하는 데 매우 유용한 기능을 제공했습니다. 이 라이브러리는 STEP, IGES, STL, BREP 등 CAD에서 일반적으로 사용되는 다양한 파일 형식을 지원합니다. 또한 이 라이브러리는 파라메트릭 디자인 생성, 기하 변환 수행, 기하 분석 수행과 같은 반복적인 CAD 작업을 자동화할 수 있게 해줍니다. 고수준 API를 제공하여 CAD 워크플로우 구현을 단순화하므로 CAD 자동화 도구를 구축하는 데 이상적인 선택입니다.

Python API를 사용하여 형상을 만들고 CAD STEP 파일 형식으로 내보내는 방법은?

from __future__ import print_function

from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox

from OCC.Core.STEPControl import STEPControl_Writer, STEPControl_AsIs
from OCC.Core.Interface import Interface_Static_SetCVal
from OCC.Core.IFSelect import IFSelect_RetDone

# creates a basic shape
box_s = BRepPrimAPI_MakeBox(10, 20, 30).Shape()

# initialize the STEP exporter
step_writer = STEPControl_Writer()
dd = step_writer.WS().TransferWriter().FinderProcess()
print(dd)

Interface_Static_SetCVal("write.step.schema", "AP203")

# transfer shapes and write file
step_writer.Transfer(box_s, STEPControl_AsIs)
status = step_writer.Write("box.stp")

if status != IFSelect_RetDone:
    raise AssertionError("load failed")
 
 한국인