데브허브 | DEVHUB | [꼬꼬유] 알아두면 쓸데있는 Pixyz Script를 소개합니다[꼬꼬유] 알아두면 쓸데있는 Pixyz Script를 소개합니다
- Pixyz Studio의 GUI는 직관적이지만, Python 스크립트를 활용하면 CAD 데이터 변환 및 최적화 과정을 자동화하여 효율성을 극대화할 수 있습니다. ⚙️
- Pixyz 제품군은 독립형 GUI 도구인 Studio, Unity 에디터 내에서 CAD 모델을 직접 처리하는 Plugin (Mac 지원), 그리고 코드 기반의 완전한 배치 처리를 위한 SDK로 구성됩니다. 🛠️
- Pixyz 스크립트 사용의 기본은 'Occurrence' 객체(Part Occurrence: 지오메트리 포함, Assembly Occurrence: 부모 노드 역할)와 각 객체의 고유 ID를 이해하는 것입니다. 🌳
- 스크립트 사용을 위한 예습으로 함수 인자, 특히 객체 선택 방식(ID 기반)을 파악하는 것이 중요하며, 루트 노드의 ID는 항상 1입니다. 🔢
- Pixyz Studio 설치 시 제공되는 50여 개의 샘플 스크립트와 'Help > Open Sample Script Directory' 메뉴를 통해 스크립트 위치를 쉽게 찾을 수 있습니다. 📂
- 대부분의 GUI 기능은 파이썬 API로 제공되며, 'Edit > Function List' 또는 GUI의 'Copy Python Code to Clipboard' 기능을 통해 API 구문과 파라미터를 확인할 수 있습니다. 📋
101_GenericProcess.py와 같은 샘플 스크립트는 CAD 데이터 가져오기, 수리, 테셀레이션, 메시 최적화 등 일반적인 변환 과정을 자동화하는 방법을 보여줍니다. 🔄
- 'Invert Selection'처럼 단일 API가 없는 복잡한 기능은 여러 함수와 외부 유틸리티 파일을 조합하여 구현할 수 있으며, 이는 스크립트의 유연성을 보여줍니다. 🧩
GetPartOccurrencesFromOccurrences 함수를 통해 선택된 어셈블리 내에서 실제 지오메트리를 가진 파트만 필터링하여 특정 작업에 적용할 수 있습니다. 🔍
ColorsByDensity 스크립트는 부품의 폴리곤 개수와 바운딩 박스 크기를 기반으로 밀도를 계산하고, 이를 색상으로 시각화하여 최적화 대상을 쉽게 파악할 수 있게 합니다. 🌈
SetPersistentVariant 기능을 활용하여 원본 데이터에 영향을 주지 않고 다양한 최적화 및 변환 작업을 테스트할 수 있는 베리언트(복사본)를 생성할 수 있습니다. 🧪
- CAD 데이터에 포함된 메타데이터를 스크립트로 읽고, 추가하고, 수정할 수 있으며, 이를 통해 특정 조건(예: 가시성)에 따라 객체를 자동 처리하여 최적화 효율을 높일 수 있습니다. 🏷️
- Pixyz Studio 내의 스크립트는 파일 입출력을 직접 처리할 수 없으므로, 완전한 배치 처리를 위해서는 Pixyz SDK를 활용해야 합니다. 🚀
- 파이썬 스크립트가 익숙하지 않은 사용자도 ChatGPT와 같은 AI 도구를 활용하여 코드의 의미를 분석하고 학습할 수 있습니다. 🤖