2026-09-30 세션 — GS 안산 성포 MH 도면(DWG) → 현장별 자재(material-spec) 초안 운영 등록
[페페] NAS
\\192.168.0.101\공유폴더\2026현장\진행중\10월\한샘 GS 안산 성포동 MH\01.[한샘]_260930_GS건설 안산 성포동_주방_건립타입 자재준비용.dwg에서 자재사양 추출 → pfs 「현장별 자재」 등록. 주방 5타입(전시부스·84A·99A·104·OT84A). 등록 칸 = A(초안 spec_json,/collect) · 채팅 「운영배포 한다」(총괄 세션 전달). 작업 = [코디] worker-opus-xhigh(L4).
논의·대안
- 원본 구조 — 표제란
구분 : KIT. 건립 : 84㎡A, 99㎡A, 104㎡, OT84㎡A, 전시부스(84A기본) 2026.09.28. 타입 행마다 「확장 기본」(평면만) / 「Style Up건립」(자재사양서 + 확장옵션형 + 냉장고장-옵션형) 2단. 전시부스만 「확장 기본건립」(확장기본형 + 냉장고장-기본형 1). 자재사양서 = 폼 블록도면폼_주방가구 자재사양서(라벨) + 모델공간 TEXT(값), 행 간격 175 · 위치 1블록 7행. 84A 만…자재사양서 확장형시트가 하나 더 있다(아일랜드 유리장식장). - 추출 경로 = ODA File Converter(숨김 vbs) → DXF 98.8MB → ezdxf 텍스트 5,720개(블록 내부·중첩 2단 포함) → 폼 라벨 행 기준 파서 →
ezdxf.addons.drawingPNG 렌더로 눈 대조. X표(빨간 사선 LINE)는 5타입 모두 건설사 지급분 · 상판 칸에만 → 범위 밖. - 등록 칸 대안 = ①초안
spec_json(/collect, 검수 칩) ②확정본spec_json_user(PUT /spec/<no>, 낙관락). 페페 = ① → 페이로드 2종 모두 준비, ① 만 실행. - pfs 스키마와 도면의 어긋남 — ⒜ 웹
normalize()는 빈door.core를 18T MDF 로 강제(지워도 재로드 시 복원) → 유리도어(도면 「-」)를 표현 못 한다 ⒝ 셀 1칸 = 풀 id 1개 → 99A·104 키큰장 손잡이 2종 병기를 한 칸에 못 담는다 ⒞ 기본 parts 에 EP·SR·손잡이 열이 없다.
결정
- parts 에
door.ep(EP·SR)·door.handle(손잡이) 추가(AcadTread 수집기처럼 parts 를 같이 실어 normalize 가 안 지우게). - id = AcadTread
MatCollectTab.cs BuildDoc규약 그대로(type:<이름>·loc:kitchen:<위치>·c:<품번>·k:<T>:<재질>·e:…·s:…) → 팔레트로 같은 현장에 더 보내도_merge_docs가 합친다. - 유리도어 위치
door.core는 비움 +k:18:MDF(note ⚠도면에 없음) 를 결정적 id 로 선점 → 웹 자동표시가 랜덤 id 를 안 만든다. - 유사 엣지·유사PP 는 원문 그대로 풀 1개씩(colorId 비움) — 전면 칼라로 치환 안 함(matcollect 결정 #13).
- 불확실 12칸은 비움 +
captureLog[].skipped에 사유. 원문 198건 전부captureLog에 좌표와 함께. - 미등록 칼라(GK102-G8·HS0868GP·H2041B-L1·P9GA4T) = 풀에만, poin_colors INSERT 안 함.
산출물·커밋
- 운영 spec_no 6 (field 2180 「GS 안산 성포」 한샘 MH, 상차 26.10.15) — 5타입 × 17위치 × 186칸 + 칼라 7 · 코어 6 · 엣지 3 · 부자재 42 · captureLog 198. parse_status=
draft· has_user_edit=false→ 카드 「✨ 자동작성 검수 필요」. - 타입별 차이: 메인컬러 전시부스·84A·OT84A
IV075EMT(현대L&C PET) / 99A·104GY123MT· 99A 키큰장 포인트컬러GK102-G8(LX하우시스) · 몸통HS0868GP(효산 LPM) 15T PB · 옵션 상부장 = 5T 유리EURO-PY000XBXM+ AL.FRAMEAA-324(W10) · EP·SR 우드결 PVCP9GA4T· 몸통 18T PB +H2041B-L1 + 246(경면O) · 84A 아일랜드 유리장식장(확장형 시트) 추가. - 검증 = 등록 직전 GET
exists:false→ POST/collect→ GET 되읽기 셀 186/186·풀 id·parts·captureLog 일치 · 칩 조건 true · 같은 페이로드 재전송 = doc 동일(멱등) · 운영orderpaper_material.jsnormalize 를 node 로 돌려 유실·변경·미해결 id 0. - 작업폴더
C:\dev\_work\gs-ansan-seongpo\matspec_0930\—_parse_spec.py(자재사양서 파서) ·_build_doc.py(doc·페이로드) ·_register.py(등록·재검증·멱등) ·_normalize_check.js·_xmarks.py·_render_box.py·payload_collect_2180.json·payload_put_2180.json(미사용) ·extract_table.csv·uncertain.json(24건). - devplan
C:\dev\devplan\pfs-gs-ansan-matspec.html(카드pfs-gs-ansan-matspec) · 모델 장부C:\dev\seedchain\rules\model-ledger.md§3 pfs 행 추가. 코드 변경 0 → 배포·사이트맵 없음.
다음
- ⏳[페페] 초안 검수(현장별 자재 탭) —
uncertain.json24건: 유리도어 도어CORE 자동 18T MDF 5칸 · 옵션 상부장/아일랜드 등판(경면X 무광 품번 미기재) 5칸 · 84A 아일랜드 유리장식장 AL 프레임(사양서 AA-324 ↔ 상세도 AA-236C·AA-236A) · 같은 위치 EP·SR 공란 · 99A·104 키큰장 손잡이 2종 · 몸통 엣지 「전면 유사」 해석·두께 ·H2041B-L1 + 246의 「+ 246」 · 가전소물장 라벨 없는 H.W 4행 소속 · 테이블콘센트 「확인필요」 · H.W/ACC 조달 주체 · 104 세대수(표제란 103 174). - ⏳[페페] 미등록 칼라 4종 poin_colors 등록 여부(승인 사안).
- 🔑함정:
GET /api/poin/colors는 이제 로그인 필요(무인증 401 — matcollect 지시문 §4-③ 「무인증」은 옛말) · Git Bash 는/api/…인자를 윈도우 경로로 바꾼다(스크립트 안에서 URL 조립).
관계
- 주제 그룹: pfs 현장별 자재(material-spec) · 도면 자재수집(matcollect)
- 관련 문서: pfs-session-2026-09-07-gs-ansan-seongpo-estimate, archive.md 「완료(2026-06-26) — 현장별자재(material-spec) 대우 용인(field 2109) 운영 등록」