kr-patent-drawing-tagginglisted
Install: claude install-skill lsj4232/KR_PATENT_SKILL
# 한국 특허 도면부호 태깅 (PNG 직접 삽입)
## 무엇을 하는가
무부호 도면 PNG(블록도·파이프라인도·흐름도)에 도면부호를 **이미지 위에 직접 그려 넣어**
태깅본 PNG를 만든다. 검증된 파이프라인 (사건 C, 도면 14장 / 부호 98개 실전 검증):
```
도면 시각 판독 → 부호 체계 확정 → 도면별 anchor 설정(JSON) 작성
→ scripts/tag_drawings.py 실행 (cv2 박스검출 + 최근접 매칭 + 충돌감지 배치)
→ 태깅본 전수 육안 검증 (Read로 이미지 확인) → 어긋난 도면만 설정 수정 후 재실행
→ 부호매핑표 md/xlsx 산출
```
## 작업 순서
### Step 1. 입력 확보
- 도면 PNG 폴더 (숫자 파일명 `1.png`, `2.png`, … 권장)
- 확정된 부호 체계 (없으면 kr-patent-symbol-design 먼저 호출)
- **모든 도면을 Read로 시각 판독**하여 각 박스의 위치를 파악해 둔다 (anchor 좌표의 근거).
### Step 2. 설정 JSON 작성
`examples/사건 C_config.json` 을 복사하여 사건별로 작성. 도면마다:
| 필드 | 의미 |
|---|---|
| `solo` | 태깅할 단독 박스 `[fx, fy, "부호"]` — fx/fy는 박스 중심의 이미지 폭·높이 대비 비율(0~1). 시각 판독 시 표시 좌표 ÷ 표시 크기로 추정 |
| `cyl` | 실린더(DB 등) — 내부 하단 중앙에 배치 |
| `container` | 최대 면적 박스(예: 제어부 컨테이너) 부호 — 내부 우상단 |
| `groups` | 점선 그룹: `sym`(대표 부호), `members`(멤버 박스 locator 좌표 — 검출 소진용, 무부호), `tagged`(예외적으로 부호 붙일 멤버 `[idx, "부호"]`) |
| `copy_only` | true면 무수정 복사 (부호가 이미 인쇄된 도면) |
anchor는 대략적이어도 된다 — 스크립트가 검출 박스와 **최근접 매칭**하므로 박스 중심에서
다소 어긋나도 올바르게 붙는다. 박스가 밀집한 도면만 정확히.
### Step 3. 실행
두 가지 스타일 엔진 중 선택:
```bash
# (a) 인라인 스타일 — 박스 내부 라벨 옆에 숫자
python scripts/tag_drawings.py --config <사건별 config.json>
# (b) KIPO 정식 작도 스타일 — 박스 외부 숫자 + 구불선 지시선 (레퍼런스: 사건 B 작도본)
python scripts/tag_drawings_leader.py --config <사건별 config.json>
```
leader 엔진(v2) config 확장: figure별 `pad_top/left/right/bottom`(캔버스 여백 확장 px),
solo 항목 4번째 요소로 배치 방향(`above/below/right/right_upper/left/above_left`),
groups에 `"sides"`, tagged 항