오픈 캐스케이드 테크놀로지

Open Cascade Technology
오픈 캐스케이드 테크놀로지
Occtecht01sm wiki.jpg
Opencascadedemo.jpg
OpenCAScade 스크린샷
개발자캐스케이드 S.A.S.U.를 엽니다.
초기 릴리즈1999년; 23년 전(1999년)
안정된 릴리스
7.6.2[1] / 2022년 4월 29일; 3개월 전 (2022년 4월 29일)
저장소
기입처C++
운영 체제Linux, FreeBSD, Mac OS X, Windows, Android, iOSWeb Assembly
유형CAD, CAM, CAE
면허증.LGPL-2.1만[2] (예외[3])
웹 사이트https://dev.opencascade.org

Open Cascade Technology(OCCT; 오픈 캐스케이드 테크놀로지) (이전에는 CAS로 불렸습니다)CADEOpen Cascade SAS에 의해 개발 및 지원되는 3D CAD, CAM, CAE 등의 오픈 소스 소프트웨어 개발 플랫폼입니다.

OCCT는 풀스케일 B-Rep(경계 표현) 모델링 툴킷입니다.OCCT는 LGPL-2.1 전용 라이선스로 사용할 수 있으며 오픈 소스 및 독점 애플리케이션에서 사용할 수 있습니다.

역사

CAS.CADE(Computer Aided Software for Computer Aided Design and Engineering의 약자)는 Euclid CAD 소프트웨어의 개발자인 Matra Datavision에 의해 1990년대 초에 개발되었습니다.이 소프트웨어는, 장래의 Euclid Quantum의 기반이 됩니다.1998년 회사는 서비스에 집중하기 위해 소프트웨어 개발을 포기했고, 대부분의 소프트웨어 개발 설비는 경쟁사인 CATIA의 개발자인 Dassault Systémes에게 매각되었습니다[4].

상품명 발매일 최신 업데이트 버전 최신 업데이트 날짜 하이라이트
오픈 캐스케이드 테크놀로지 7.6 2021-11-03 7.6.2 2022-04-29
  • 부울 연산 및 오프셋 알고리즘에 진행률 표시/중단을 추가했습니다.
  • STEP 리더에 운동학 엔티티 지원이 추가되었습니다.
  • 부분 OCAF 문서 읽기를 위한 인터페이스가 도입되었습니다.
오픈 캐스케이드 테크놀로지 7.5 2020-11-05 7.5.3 2021-08-06
  • Metalal-Roughness 재료 모델을 사용한 실시간 Physical Based Rendering(PBR; 물리 기반 렌더링) 렌더러.
  • Web Assembly 타깃플랫폼 지원(WebGL 뷰어 포함).
  • STEP 리더/라이터에서의 UNICODE 지원.
오픈 캐스케이드 테크놀로지 7.4 2019-10-01 - -
  • 향상된 BRepMesh 성능, 견고성 및 정확성
  • 부울 연산과 Extrema의 견고성과 안정성이 향상되었습니다.
  • 내장 병렬화 도구(OSD_Parallel)의 성능 향상.
  • glTF 2.0 및 OBJ 리더 추가.
  • 사용자 입력을 3D 뷰어 카메라 조작에 매핑하는 AIS_ViewController 추가.
  • 3D 뷰어에 3/4 및 박스 클리핑 구성 지원 추가.
  • 고속 HLR 유사 OpenGL 렌더링 모드가 추가되었습니다.
  • AIS 및 레거시 부울 동작에서 레거시 로컬콘텍스트 기능을 삭제했습니다.
오픈 캐스케이드 테크놀로지 7.3 2018-05-29 - -
  • OBB(Oriented Bounding Box)를 구성하는 알고리즘이 추가되었습니다.
  • 최적화된 표면 교차로, 형상 오프셋 및 부울 연산 알고리즘.
  • 거리 및 크기 도태 렌더링 기능 추가.
  • MinGW-w64에서 UNICODE 파일 이름 지원이 추가되었습니다.
오픈 캐스케이드 테크놀로지 7.2 2017-08-31 - -
  • 2 GiB보다 큰 OCAF 바이너리 파일의 지원이 추가되었습니다.
  • 부울 알고리즘에 "Glue"[5] 옵션이 추가되었습니다.
  • STEP 및 XDE에 주석, 저장된 뷰 및 클리핑 평면 지원이 추가되었습니다.
  • Weighted OIT(Order-independent_transparency) 렌더링 기능이 추가되었습니다.
  • Path Tracing 엔진이 개선되었습니다.
오픈 캐스케이드 테크놀로지 7.1 2016-11-25 - -
  • 동적으로 로드된 플러그인이 없는 OCAF 퍼시스텐스.
  • PMI, 치수, 주석을 포함한 STEP AP242 지원이 향상되었습니다.
  • 와이어프레임 AIS_Shape 프레젠테이션의 렌더링 퍼포먼스가 향상되었습니다.
  • 3D 뷰어에서 대화형 객체 변환을 위해 AIS_Manipulator가 추가되었습니다.
  • 현재 TKOpenGl은 기본적으로 GLSL 프로그램을 사용합니다.
오픈 캐스케이드 테크놀로지 7.0 2016-04-05 - -
  • WOK(Workshop Organization Kit)는 CMake 빌드 스크립트로 대체되었습니다.
  • CDL 파일은 미리 생성된 C++ 헤더로 대체되었습니다.
오픈 캐스케이드 테크놀로지 6.9 2015-05-12 6.9.1 2015-09-28
  • 지정된 글로벌 허용 오차를 가진 "퍼지"[6] 부울 연산이 도입되었습니다.
  • TBB 라이브러리 대신 내장 멀티 스레드 병렬화 툴이 도입되었습니다.
  • 표면 투영 시 표면 교차로 및 곡선의 견고성이 향상되었습니다.
  • STEP 가져오기 내에서 p-curve 재구성 성능이 향상되었습니다.
  • OpenGL ES 2.0과의 호환성 향상.
오픈 캐스케이드 테크놀로지 6.8 2014-11-10 - -
  • UNICODE(UTF-8) 파일 이름 지원이 추가되었습니다.
  • NCollection 클래스에 STL 호환 반복기 추가.
  • "Handle" smart-pointer는 특별한 값 0xfefd0000 대신 NULL 포인터를 사용합니다.
  • Bounding_volume_hierarchy(BVH) 알고리즘 및 구조가 추가되었습니다.
  • 부울 연산 알고리즘의 멀티 스레드 버전이 도입되었습니다.
  • 3D 뷰어에 제한된 OpenGL ES 2.0 지원 도입.
  • VTK 뷰어용 B-Rep 쉐이프 프레젠테이션 빌더를 제공하는 VIS / TKIVtk[7] 컴포넌트가 추가되었습니다.
  • 3D 뷰어 내 입체 디스플레이[8] 지원 추가.
  • 렌더링 성능을 향상시키는 struptum culling 기능을 추가했습니다.
  • Ray-Tracing 엔진은 OpenCL 구현에서 GLSL 구현으로 전환되었습니다.
오픈 캐스케이드 테크놀로지 6.7 2013-12-18 6.7.1 2014-04-30
  • 라이선스는 LGPL-2.1-only로 변경되어 추가 예외가 있습니다.[3]
  • OpenCL을 사용한 내장 GPU 가속 Ray-Tracing 렌더링[9] 엔진.
오픈 캐스케이드 테크놀로지 6.6 2013-04-22 - -
오픈 캐스케이드 테크놀로지 6.5 2011-04-04 6.5.5 2013-03-29
오픈 캐스케이드 테크놀로지 6.4 2010-09-30 - -
  • BRepMesh 알고리즘에 멀티스레드 모드가 추가되었습니다(옵션의 TBB 라이브러리 지원 도입).
  • VBO(Vertex Buffer Object)를 사용하여 렌더링 성능이 향상되었습니다.
  • TKOpenGl 구현이 C에서 C++ 클래스로 변환되었습니다.
  • FTGL 및 FreeType 라이브러리를 통해 텍스트 렌더링 향상.
  • 라인 라인, 라인 플레인 및 플레인 교차로의 알고리즘이 개선되었습니다.
오픈 캐스케이드 테크놀로지 6.3 2008-09-03 6.3.1 2009-06-19
오픈 캐스케이드 테크놀로지 6.2 ? 6.2.1 2007-12-06
오픈 캐스케이드 테크놀로지 6.1 2006-03-24 6.1.1 2006-10-16
오픈 캐스케이드 테크놀로지 5.2 ? 5.2.4 2005-07-29
오픈 캐스케이드 테크놀로지 5.1 ? 5.1.3 2004-04-23 "오픈 캐스케이드"는 "오픈 캐스케이드 기술"로 이름이 변경되었습니다.
오픈 캐스케이드 4.0 2001-12-11 - -
오픈 캐스케이드 3.0 2000-04-24 - -
오픈 캐스케이드 2.0 ? - -
오픈 캐스케이드 1.0 1999 - -

오픈 소싱

1999년에 Matra Datavision은 CAS를 발행하기로 결정했다.Open CASCADE Technology Public[10] License에 따른 오픈 소스 모델의 CADE 인프라스트럭처를 오픈 [11]캐스케이드라고 이름 붙였습니다.

2000년에는 오픈 [12]캐스케이드 주변에서 사업을 하기 위해 별도의 회사인 오픈 캐스케이드 SAS가 설립되었습니다.오픈 캐스케이드 SAS는 2003년 프랑스 서비스 프로바이더법인 프린시피아에 매각된 뒤 2006년 아레바의 자회사인 유리어웨어 그룹에 인수됐다.

2004년에 소프트웨어는 회사 이름과 구별하기 위해 Open Cascade Technology로 이름이 변경되었습니다.

Open Cascade S.A.S.는 라이브러리의 인증된 버전을 제공하며, 이 라이브러리는 산발적으로 출시되며, 보통 [13]1년에 1~2회 출시됩니다.버전 6.5.0(2011)까지는 마이너 버전과 메이저 버전만 공개되었으며 중간(유지보수) 릴리스는 Open Cascade S.A.S. 고객만 액세스할 수 있었습니다. 예를 들어 버전 6.3.0은 2008년에 공개되었고 다음 공개 버전 6.5.0은 2011년 초에 공개되었습니다.버전 6.5.0 이후의 최신 릴리스는 모두 [14]퍼블릭입니다.

커뮤니티 포크

2011년 3월, Thomas Paviot는 오픈 캐스케이드 라이브러리의 가장 최신 버전 6.5.0의 포크를 시작했다.이 이니셔티브는 Open Cascade Community Edition이라고 불립니다.이 프로젝트는 라이브러리를 [15]위한 별도의 커뮤니티 기반 릴리스 및 버그 보고 프로세스를 확립하는 것을 목표로 하고 있습니다.

협업 개발 포털

2011년 12월, Open Cascade는 외부 기고자를[16] 위한 웹 포털을 설치하고 Mantis Bug[17] Tracker와 추가 Git 저장소를[18] 공개하였다(읽기 전용 GitHub[19] 미러는 '2020년에 구축되었다).새로운 웹사이트의 성명에 따르면 오픈소스 커뮤니티의 외부 기부자는 버그를 버그 트래커에 직접 등록하고 기부자 라이센스 [20]계약을 체결한 후 코드에 기부하는 등 오픈 캐스케이드 테크놀로지 개발에 참여할 것을 권장합니다.

라이선스 변경

2013년 12월 18일부터 버전 6.7.0의 오픈 캐스케이드 기술을 LGPL-2.1에서만 사용할 수 있습니다.단,[3][21] 추가 예외가 있습니다.이전 버전은 GPL[22] 호환되지 않아 Fedora [23]프로젝트에 의해 무료가 아닌 것으로 간주된 "Open Cascade Technology Public License"에 따라 라이센스가 부여되었습니다.

기능

오브젝트 라이브러리

OCCT의 기능은 여러 개의 큰 모듈로 분할됩니다.각 모듈은 툴킷(라이브러리) 목록을 정의합니다.주요 모듈:

  • 기본 클래스: 기본 클래스, 메모리 할당자, OS 추상화 레이어, 컬렉션(데이터 맵, 어레이 등), 가속 데이터 구조(BVH 트리) 및 다른 모듈에서 사용하는 벡터/매트릭스 계산을 정의합니다.
  • 모델링 데이터: 2D 및 3D 기하학적 원형을 나타내는 데이터 구조를 제공합니다(분석 곡선: 선, , 타원, 쌍곡선, 포물선, 베지어, B-스플라인, 오프셋, 분석 표면: 평면, 실린더, 원뿔, 원뿔, B-스플라인, B-스플라인, B-스플라인, 회전, 회전, 회전).
  • 모델링 알고리즘: 광범위한 기하학적 및 토폴로지 알고리즘(교차, 부울 연산, 표면 메싱, 필릿, 형상 치유)을 포함합니다.
  • 시각화: 3D 뷰어에 지오메트리를 표시하기 위한 인터랙티브 서비스를 제공하며, 기존의 Phong, 실시간 PBR 금속 거칠기 쉐이딩 모델 및 인터랙티브 Ray-Tracing/Path-Tracing 엔진을 지원하는 콤팩트OpenGL/OpenGL ES 렌더러를 구현합니다.
  • Data Exchange: 다양한 CAD 형식을 Import/export할 수 있습니다.
    STEP, IGES, glTF, OBJ, STLVRML[24]네이티브로 지원됩니다.플러그인을 [25]사용하여 다른 형식을 가져올 수 있습니다.XDE(Extended Data Exchange) 컴포넌트는 통합 XCAF 문서 정의에 의존합니다.이 정의에는 CAD 형상, 색상/이름/재료/메타데이터/레이어 속성 및 PMI와 같은 기타 보충 정보가 포함됩니다.
  • 응용 프로그램 프레임워크: 응용 프로그램 고유의 데이터를 처리하기 위한 솔루션을 제공합니다[buzzword].
  • DRAW 테스트 하니스: 대화형 사용, 프로세스 자동화, 프로토타이핑 애플리케이션 및 테스트 목적을 위해 TCL 인터프리터 기반의 OCCT 알고리즘에 스크립트 인터페이스를 구현합니다.

워크숍 구성 키트

Workshop Organization Kit(WOK)는 오픈 캐스케이드 개발 환경입니다.이 환경은 로컬 네트워크를 통해 공유되는 공통 레퍼런스 버전을 이용하여 다수의 개발자가 제품을 작업할 수 있도록 설계되어 있습니다.

OCCT 7.0.0 릴리스까지는 CDL(CAS)을 지원하는 유일한 툴이기 때문에 WOK를 사용하지 않으면 소스 코드를 대폭 변경할 수 없었습니다.CADE 정의 언어)는 대부분의 OCCT 클래스를 선언하는 데 사용되며 OCCT 라이브러리의 논리 구조를 정의하는 데도 사용됩니다.WOK는 이전 OCCT 배포판에 포함되어 있습니다.OCCT 버전 6.4부터는 독립된 툴이 되었습니다.

7.0.0 릴리스에서는 모든 CDL 파일이 OCCT 소스 코드에서 삭제되어 WOK는 OCCT 개발에 필요 없게 되었습니다.

오픈 캐스케이드 기술을 기반으로 한 CAD 프로그램

다음과 같은 여러 CAD 프로그램이 Open CASCADE Technology에 의존하고 있습니다.

  • FreeCAD는 빌딩 정보 모델링, FEM(Finite-Element-Method) Python [26][27]스크립팅을 지원하는 오픈 소스 3D 파라메트릭 모델러입니다.
  • SALOME은 수치 시뮬레이션을 위한 사전 및 사후 처리를 위한 오픈 소스 플랫폼입니다.
  • KiCad는 전자 설계 자동화(EDA)를 위한 오픈 소스 제품군입니다.
  • Gmsh 오픈소스 유한요소메쉬(FEM) 제너레이터버전 3.0 이후 Gmsh는 OCCT를 기반으로 전체 구성 솔리드 지오메트리 기능을 지원합니다.
  • FORANSENER가 개발한 통합 CAD/CAM/CAE 시스템으로서 실질적으로 모든 해군 함정과 해상 유닛의 설계와 생산을 목적으로 합니다.FORAN은 분석 표면 작업에 V80R2.0[28] 릴리스 이후 OCCT를 사용합니다.
  • JSketcher는 브라우저 기반 파라메트릭 3D 모델러입니다.[29]

「 」를 참조해 주세요.

레퍼런스

  1. ^ https://dev.opencascade.org/content/open-cascade-technology-762-maintenance-release 를 참조해 주세요.
  2. ^ "README.txt".
  3. ^ a b c "OCCT license".
  4. ^ "Dassault Systemes Signs Agreement to Acquire Matra Datavision's Subsidiary".
  5. ^ "Gluing Options in Boolean Component - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  6. ^ "Fuzzy Boolean Operations - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  7. ^ "VTK integration services in OCCT - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  8. ^ "Stereoscopic rendering in Open CASCADE Technology - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  9. ^ "Ray tracing as alternative rendering method for OCCT visualization component - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  10. ^ "Open CASCADE Technology Public License".
  11. ^ "Downloading Of Source Code For Open Cascade Gains Momentum Market Wire Find Articles". 9 April 2012. Archived from the original on 9 April 2012. Retrieved 22 November 2021.
  12. ^ 유럽 e-비즈니스 시장 감시 사례 연구: 오픈 캐스케이드 S.A.의 오픈 소스 기반 서비스.2011년 7월 26일 Wayback Machine에서 아카이브 완료
  13. ^ "OCCT Previous Releases".
  14. ^ "Becoming more and more open!".
  15. ^ "Thinkings about the 6.5.0 release, OCCT status, and the relationship with the Community". Archived from the original on 16 April 2011. Retrieved 15 April 2011.
  16. ^ "Opening the Development of Open CASCADE Technology".
  17. ^ "Mantis Bug Tracker for OCCT project".
  18. ^ "GitWeb interface to main OCCT git repository".
  19. ^ "Passive mirror of OCCT git repository on GitHub". GitHub.
  20. ^ "Signing the Contributor License Agreement".
  21. ^ "Relicensing OCCT - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 22 November 2021.
  22. ^ "OCCT FAQ". dev.opencascade.org. Open Cascade. Retrieved 25 June 2021.
  23. ^ Callaway, Tom. "Licensing:Main – Bad Licenses". fedoraproject.org. Red Hat, Inc. and others. Retrieved 18 May 2013.
  24. ^ "Data Exchange Open CASCADE Technology". dev.opencascade.org. Retrieved 22 November 2021.
  25. ^ "Datakit - Open Cascade". opencascade.com. Retrieved 22 November 2021.
  26. ^ Okoi, Martins (1 December 2017). "FreeCAD – A 3D Modeling and Design Software for Linux". FOSSMint. Retrieved 2 May 2019. }}
  27. ^ Lee, Hawk (22 June 2018). "FreeCAD FEM Workbench (Calculix 2.14)". Archived from the original on 3 May 2019. Retrieved 2 May 2019.
  28. ^ "SENER's latest version of FORAN V80R2.0 lets users manage series of ships". 19 July 2016. Archived from the original on 21 August 2018. Retrieved 4 August 2020.
  29. ^ https://github.com/xibyte/jsketcher