CDP STEP AP214 라운드트립 E2E 테스트
개요
CrownyDesign Partner(CDP) STEP AP214 내보내기/가져오기 파이프라인의 전체 라운드트립을 검증하는 E2E 테스트 스크립트를 작성했다.
무엇을 했는지
src/exchange.js분석:STEPExporterAP214.exportMesh()(Three.js BufferGeometry → STEP) 와STEPImporter.parse()API를 확인- 버그 발견 및 수정:
STEPExporterAP214._buildFile()이 엔티티 라인에;를 붙이지 않아STEPImporter의 정규식 파서가 엔티티를 0개 파싱하는 버그 → 수정 완료 - E2E 테스트 작성:
test-step-e2e.mjs— 5개 파트(박스, 실린더, 구, L브래킷, 다중바디) 전체 라운드트립 - 한선씨 동반 파일:
test-step-e2e.한선작성
테스트 결과
69/69 통과 (0 실패)
각 파트별 확인 항목:
- ISO-10303-21 헤더, DATA 섹션
- MANIFOLD_SOLID_BREP / ADVANCED_FACE / CARTESIAN_POINT 존재
- 솔리드 >= 1, 면 >= 4, 정점 >= 3
- 바운딩박스 X/Y/Z 라운드트립 (1% 오차 이내 — 모두 0.00%)
관련 파일
/Users/ef/Downloads/crowny-design/cdp/test-step-e2e.mjs— E2E 테스트 (node 실행)/Users/ef/Downloads/crowny-design/cdp/test-step-e2e.한선— 한선씨 동반 파일/Users/ef/Downloads/crowny-design/cdp/src/exchange.js— 수정됨 (line 346:;붙이기)
수정 내용 (exchange.js line 346)
js// 이전
step += this.entities.join('\n') + '\n';
// 수정 후
step += this.entities.map(e => e.endsWith(';') ? e : e + ';').join('\n') + '\n';
잔여 이슈
- STEP 임포터의 엔티티 정규식
[^;]*는 중첩 괄호 안 세미콜론이 있으면 파싱 실패 가능 (헤더 엔티티 등) export([])호출 시entityId/entities초기화 —exportMesh()단독 사용 패턴만 테스트됨