2026-07-27 세션 — imos iX CAD 2023 2차 심층조사 (16도메인 전영역)
논의·대안
페페 지시 = "poincad2 시드 복원 / ix cad 2023의 기타 기능도 조사 / element manager · order-related variables · article-order-related variables 3항목은 가구 캐드 작업에 매우 중요 / drawing views 등 집중 조사 안 된 모든 부분들도 모두 조사".
1차 조사(같은 날 오전)는 환경 식별·COM 가능성·리본 목록·DB 핵심모델(존트리)·2026 통계까지였고, 기능의 백엔드 데이터모델은 대부분 미조사였다. 이번 지시는 그 빈 곳 전체를 메우는 것.
조사 수단 선택 — iX CAD는 COM Application을 노출하지 않고 LISP도 차단이라 CAD 자동화는 불가(1차 확정). 남은 경로 4개를 전부 병행했다: ① poin DB 직접 SELECT(593테이블) ② imos.msg(31언어 17,976메시지) + imostemplate.cuix 정적 파싱 ③ .NET ReflectionOnly(BIN DLL 162개) ④ Library·오더폴더 파일 원문. 화면 캡처는 WPF 리본이 UIA에 탭을 노출하지 않아 CUIX 파싱보다 열등하므로 이번엔 아예 쓰지 않았다.
조사 전 해결한 도구 문제 2건: sqlcmd는 콘솔 코드페이지 949 탓에 한글이 전부 깨져 쓸 수 없었다(실측) → PowerShell System.Data.SqlClient 직결 헬퍼(SELECT 전용 가드)를 만들어 UTF-8 TSV로 뽑는 방식으로 교체. Bash의 python이 깨진 venv를 가리키는 문제도 절대경로로 우회.
구성 대안 — 16개 도메인을 한 번에 병렬로 돌릴지, 우선순위를 나눌지. 페페가 3항목을 "매우 중요"로 못박았으므로 A파트(지목 3항목 + drawing views)는 조사→적대검증 2단으로 깊게, B파트(나머지 12클러스터)는 병렬 스윕 + 커버리지 감사로 넓게 가는 2단계 구성을 택했다. 두 파트를 동시에 돌리지 않고 순차로 간 이유 = 페페가 실작업 중인 PC라 SQL 병렬부하를 피하려고.
결정
- A파트 적대검증을 넣은 것이 결정적이었다. 자동 통과가 아니라 실제로 오류를 잡았다 — Element Manager 정정 10건·승격 6건, Order변수 일치 27/정정 13/승격 5/도려냄 4. 대표 사례: "
anglelem= 존의 4변"은 UNIQUE 인덱스 확인만으로 반증됐고(존당 최대 1행),LINDIV의 "모드코드" 해석도 591종 전수로 반증됐다. - 도메인 간 결론 충돌을 감추지 않고 판정한다(A파트 7건 + 감사 5건). 판정 결과 "enum 첫 글자 매칭"보다 "값이 어느 마스터 테이블에 조인되는지"가 항상 강한 방법이었다.
- 회귀테스트 정본 모집단을
PROADMIN.DATECREATE연도 기준으로 고정(오더 223 / 부재 27,481 / 가공 117,185). 폴더 기준(153/17,369)은 사람이 오더를 옮기므로 재현 불가능하다. 도메인 3곳이 서로 다른 "2026년"을 쓰던 것을 여기서 종결. - v1 스코프 확정 — 기준정보(CP/PD/자재) + 결합·커넥터 + LINDIV 파서 + 존 fill + CAM(IDBWG 계층까지) +
TRAVERSE+DESCRIPTOR. 이것으로 포인 2026 생산데이터 95%+ 재현(추정). imos EM 기능의 약 12%. - 만들지 않을 것도 실측 근거로 확정 — Room plan · Document Manager 레이아웃 · PXM 포스트프로세서 39종 · CMS 견적 ·
CAT*구성기 · Object Designer · 손잡이GRIFF·SURF레이어 ·FAVORITES서버저장 · AutoCAD 렌더 · Jint급 JS 엔진(포인 15년간 0회 사용). - P0 설계 14건(A 6 + B 11, 중복 정리) — 핵심 3개: 면 주소를 존 경로에 이어붙이지 않는다 / 식별자에 사람이 읽는 이름을 섞지 않는다 / 단가에 유효일·통화를 넣고 단가 0은
incomplete로 표시한다. 전부 imos가 실제로 실패한 지점에서 뽑았다.
산출물·커밋
조사 산출 = C:\dev\poincad2\reference\survey2-2026-07-27\ (10MB)
- SURVEY2_PART_A.md(74KB) · SURVEY2_PART_B.md(140KB) · COVERAGE_AUDIT.md(32KB)
- 도메인 보고서 16건 — element-manager · order-variables · article-variables · drawing-views-and-document-output · connections-and-hardware · basisdaten-masters · cam-pxm-cnc · drangl-contour-objectdesigner · drawers-doors-fronts · attributes-and-conditions · cms-cost-calculation · catalog-article-center · presentation-and-rendering · ixplan-roomplan-designmanager · parts-import-export-interfaces · system-config-logging-coverage
- raw_*.txt 257건 — SQL 덤프·리플렉션·CUIX/msg 파싱·INI·커버리지 표(모든 수치의 근거)
devplan = C:\dev\devplan\imos-benchmark2.html 신설 + 허브 카드(poincad2) 갱신. build_hub.py UNC 래퍼로 재빌드, http://100.108.234.45:8799/imos-benchmark2.html HTTP 200 검증.
감사 지적 정정 4건 적용 — connections-and-hardware.md(CONNSELATTR 포인 실사용 → v1 채택으로 정정) · cms-cost-calculation.md(TYP=102 0행→10행) · basisdaten-masters.md(TRAVERSE "2행 1CP"는 KONSTTYP=8 94종 한정, 레일전용 82종 존재 → rail_spec nullable 필수) · SURVEY2_PART_A.md(ACADTABLE은 Document Manager 계열이 아님을 명시). 중복 스텁 drawing-views.md는 본문에 정정 9건·신규 13건이 전부 인라인 보존됨을 확인 후 삭제.
시드 = projects/poincad2/handoff.md(불변핵심에 imos 데이터모델 절 신설 + NOW 갱신) · rules.md(신규 규칙 9건 추가) · 루트 HANDOFF.md NOW.
규모 = 에이전트 23(A 9 + B 14) · 오류 0 · 툴호출 2,298 · 서브에이전트 토큰 6.38M.
다음
- P2 착수 — CP/PD 이식, 치수 3중화, P0 설계 14건 반영. 검증기준 = 오더
59B 일반 금강부산에코mh재현 시IDBGPL과 수치 100% 일치. - 미해결 이월 6건 — ①
poin_*20테이블 전용 도메인 조사(감사가 발굴했으나 표 1줄 취급,part_kind·코드마스터의 1차 소스) ②LRDIVIDER/LRTOPSHELF/LRTAKEOVER좌우대칭 상속(미러 아티클 자동생성 = 아티클 폭증 방지 열쇠) ③PropertyGridViewModelFIELD_ID 전개(EM UI 필드 순서 복원) ④anglelem.ELEMID=4,5(두 보고서 정반대 해석, 영향 0.5%) ⑤ 오더 DWG 레이어·블록(외부 DWG 파서 필요) ⑥.FXF태그 체계 전체 해독(아티클 오버라이드 이관의 유일 경로). - 🔴 1차 판정 재검토 1건 — RDL이
BINDATA에 있고 그 안에pfs링크드 서버 조인이 실재하므로, "imos↔PFS 실질 단절"(pfs_field_no2026년 0건 근거) 판정을 다시 봐야 한다. 두 시스템이 규격표 리포트 레벨에서 이미 연결돼 있을 수 있다. - 페페 결정 대기 2건(기존) —
poin_item수기 규격표 대체/병행 · 표지 imagegen(미니PC 실행).
관계
- 주제 그룹: poincad2-imos-benchmark
- 관련 문서: poincad2-handoff, poincad2-rules, poincad2-archive