← ClaudeAtlas

3d-renderlisted

3D 모델(STEP/IGES/STL)을 로컬에서 제품컷·엔지니어링 뷰로 렌더링한다. OCP 삼각화→VTK 4뷰 시트(빠른 확인)→Blender Cycles 스튜디오 렌더(재질·조명·자세·테이블/모서리 연출), ambientCG·Poly Haven CC0 텍스처 자동 수령 포함. "렌더링 해줘", "STEP/모델 이미지로", "제품컷 뽑아줘", "4뷰로 보여줘", "이 자세로 돌려서 렌더", "텍스처 입혀서" 요청 시 호출. 전 과정 로컬(파일 외부 전송 없음), 민감 모델 취급 가능.
jsb4702-glitch/verification-harness · ★ 7 · AI & Automation · score 76
Install: claude install-skill jsb4702-glitch/verification-harness
# 3d-render — 로컬 3D 렌더 파이프라인 전부 이 머신에서 실행: OCP 7.9(STEP 파서)·VTK 9.6(프리뷰)·Blender 4.3.2(`/Applications/Blender.app`)·trimesh. 모델 파일은 밖으로 안 나간다(텍스처 다운로드만 아웃바운드). ## 입력 경계 · 형상 신뢰 - **렌더 전 형상 검증 필수**: 삼각화 직후 preview.py로 실물 대조. 이상하면(고리/판 등 원본에 없는 형상) 트림 소실 의심 — 컨버터 산출 STEP(convert3d 등)에서 OCP STEPControl/XCAF 리더가 와이어를 잃는 사례 실측. ShapeFix로도 안 낫는다. - **트림 소실 시 우회**: `node scripts/occt2stl.mjs in.stp out.stl` (occt-import-js WASM — 같은 파일을 정상 트림으로 삼각화, deflection 파라미터 내장). stp-analyzer 뷰어(포트 8742, stp-assets 허용트리에 파일 복사 후 fetch 주입)로 육안 교차확인 가능. - **분리 저장 멀티바디**: 반쪽들이 이격 저장된 파일 존재(66mm 갭 실측) — trimesh split 후 접합면 z-이동 조립. 접합 전 컴포넌트 census(면적·bbox·중심) 필수, 저밀도 대형 시트=작도면이니 제외. - 되는 것: STEP/IGES(OCP), STL/OBJ/PLY/GLB(trimesh/Blender 직import) - 안 되는 것: SLDPRT/SLDASM, NX .prt, Parasolid x_t, JT → STEP 내보내기 요청할 것 ## 파이프라인 (scripts/) ``` 1. tessellate.py IN.step OUTDIR [--defl 0.12] [--ang 0.25] [--split-band] → model.stl (또는 model_main.stl + model_band.stl) --split-band: z단면 폭이 전체의 35% 미만인 좁은 구간(기둥/샤프트)을 별도 STL로 분리 → 이중 재질용 2. rotate_stl.py in.stl out.stl [--up ux,uy] [--rotx/--roty/--rotz DEG] 자세 만들기. --up: 원좌표 xy평면의 (ux,uy)방향을 새 +Z로(원 Z축은 수평 +Y가 됨). 파트 여러 개면 같은 옵션 반복 적용. 3. preview.py out.png a.stl [b.stl] [--floor | --block XE,TOP] [--cam x,y,z] VTK 오프스크린 ~5초. 자세·접지·블록 배치는 반드시 여기서 눈으로 확정 후 Cycles로. 4. quadview.py IN.step OUTDIR # 엔지니어링 4뷰 시트(등각+정면/평면/측면 정사영, XCAF 색상 지원) 5. studio_render.py (Blender로 실행): /Applications/Blender.app/Contents/MacOS/Blender -b --python stud