---
name: kr-patent-drawing-mapping
description: 한국 특허 명세서 도면 이미지를 시각 분석/OCR하여 도면 안의 모든 박스(부서·모듈·객체·데이터·장비·인력)에 1:1로 도면부호를 할당하고, 본문·청구항·기존 부호 체계와 정합되는 박스별 부호 매핑 표를 산출. 사용자가 "박스마다 부호", "도면 박스 전수 부여", "도면 OCR해서 부호 매핑", "도면별 부호 표", "도면 박스 1:1 매핑", "도면 안에 부호가 더 많아야 해" 같은 표현을 쓰면 사용. 기존 kr-patent-symbol-design이 청구항·본문 텍스트 기반의 부호 골격 설계라면, 이 스킬은 실제 도면 이미지를 보고 박스 단위로 부호를 채워넣는 시각 기반 매핑 작업. 산출물은 도면별 박스 ↔ 부호 매핑 표(Markdown + Excel)이며 도면 작성자에게 그대로 전달 가능한 지시서 형태.
---

# 한국 특허 도면 박스별 부호 매핑

## 무엇을 하는가

한국 특허 명세서의 도면 이미지(docx 내 image*.tiff 또는 별도 PNG·JPG)를 시각 분석/OCR로 처리하여, 각 도면 안의 **모든 박스 1개당 부호 1개**가 1:1로 대응되는 박스별 부호 매핑 표를 산출한다.

kr-patent-symbol-design이 청구항·본문 텍스트로 부호 골격(시스템 부서, 방법 단계, 장비 등)을 설계한다면, 본 스킬은 도면 이미지를 직접 보고 부호 골격을 박스 단위로 채워 넣어 도면 ↔ 본문 ↔ 청구항 3자 정합성이 박스 수준에서 보장되도록 한다.

## 언제 사용하는가

- 변리사가 "박스마다 부호가 있어야 한다"고 요청
- 도면이 이미 그려졌는데 부호가 듬성듬성하거나 누락
- kr-patent-symbol-design으로 골격 설계가 끝났으나, 도면을 보니 박스가 골격보다 훨씬 많음
- 검토자/심사관이 "도면에 객체 부호가 부족하다" 지적
- 외부에서 받은 명세서 docx의 도면 부호 점검·보강

## 입력

- (필수) 명세서 docx 또는 별도 도면 이미지 폴더
- (선택) 본문 텍스트 또는 추출된 txt — 박스 라벨과 본문 어휘 매칭 정합성 점검용
- (선택) 청구항 텍스트 — 청구항 한정 표기가 도면 박스에 노출됐는지 점검용
- (선택) 기존 부호 체계 (kr-patent-symbol-design 산출물) — 일관성 유지용

## 출력

1. **도면별 박스 ↔ 부호 매핑 표 (Markdown)**: `[사건번호] 박스별 부호 할당.md`
2. **엑셀 산출물** (3시트): `[사건번호] 도면별 부호 할당.xlsx`
   - 시트 1: 도면별 요약 (박스 수 + 신규/재사용 부호 목록)
   - 시트 2: 도면별 박스-부호 매핑 (전수)
   - 시트 3: 마스터 부호 체계 (전체 부호 ↔ 명칭 ↔ 계층 관계)
3. **도면 이미지 수정 권장 사항 보고서**: 도면 자체 오타, 정비 전 부호 잔존, 본문 정비 미동기화 등

## 작업 순서

### Step 1. 도면 이미지 추출

docx에서 도면 이미지를 추출. `unzip` 후 `word/media/image*.tiff`에 위치.

```bash
cd /tmp && rm -rf docx_extract && mkdir docx_extract && cd docx_extract
unzip -q "/path/to/spec.docx"
ls word/media/  # image1.tiff ~ imageN.tiff
```

### Step 2. 도면 ↔ 이미지 매핑 확인

⚠ **중요**: `image{N}.tiff`의 N이 명세서의 「도 N」과 자동 일치한다고 가정하지 말 것. docx 편집 도중 순서가 뒤바뀔 수 있다. 다음 점검:

1. 본문 §섹션별 도면 인용("도 N을 참조하면…")과 도면의 간단한 설명을 추출
2. 첫 1~2장 도면을 Read tool로 시각 확인 → "이 이미지가 어느 도면인지" 식별
3. 매핑 표 작성:

```
image1.tiff = 도 1 (시스템)
image2.tiff = 도 2 (방법 흐름도)
...
image7.tiff = 도 7 (GA 흐름도)   ← 도면 인용 정비 후
```

만약 명세서가 도면 인용 ±1 어긋남 상태라면 kr-patent-consistency-check로 먼저 정비 후 진행.

### Step 3. TIFF → PNG 변환 (Read tool 호환)

```python
from PIL import Image
import os
for tiff in os.listdir('word/media'):
    if tiff.endswith('.tiff'):
        img = Image.open(f'word/media/{tiff}')
        img.save(f'figures_png/{tiff.replace(".tiff", ".png")}', 'PNG')
```

### Step 4. 도면별 시각 분석 (Read tool)

도 1부터 도 N까지 차례로 `Read` 호출. 각 도면에서:

1. **박스 전수 추출**: 실선 박스, 점선 박스(그룹), 화살표 라벨 박스 모두 카운트
2. **박스 분류**:
   - 부서/모듈 (시스템 구성요소)
   - 데이터 객체 (입력·출력 데이터)
   - 처리 단계 (흐름도 단계)
   - 장비/도구
   - 인력/조직
   - 그래프/시각화 보조 박스
   - 그룹 묶음 박스 (점선 영역)
3. **각 박스에 대해 노트**: 위치(좌/중/우, 상/하), 내부 텍스트, 화살표 입출력

### Step 5. 부호 카테고리 매핑

박스 카테고리별로 부호 범위 결정 (한국 실무 표준):

| 카테고리 | 부호 범위 |
|---|---|
| 외부 입력 데이터 | 10번대 (10, 11, 12, …) |
| 시스템 그룹 / 부서 | 100번대 (100, 110, 120, …) |
| 부서 자식 (모듈/객체) | 부서번호+1 (예: 120 → 121~128) |
| 외부 객체 (단말, GIS 등) | 200번대 |
| 등급별 장비군 | 510/520/530 (계층) |
| 등급별 인력군 | 610/620/630 (계층) |
| 메인 방법 단계 | S110~S160 |
| 메인 단계 자식 (세부 단계) | 부모번호+1 (예: S150 → S151~S156) |

도면 박스 1개당 부호 1개 부여. 같은 객체가 여러 도면에 반복 출현하면 같은 부호 반복 사용 (한국 실무 표준).

### Step 6. 박스 ↔ 부호 매핑 표 작성

도면별로 표 구성:

| 박스 # | 박스 명칭 / 내용 | 부호 | 비고 |
|---|---|---|---|
| 1 | 외부 그룹 박스 (점선) | 10 | |
| 2 | BIM 데이터 박스 | 11 | |
| ... | | | |

특수 케이스:
- 마름모 분기 노드 (수렴 조건 만족? 등): 부호 부여하지 않음 (텍스트만)
- 단가·수치 라벨 셀 (₩45,000 등): 부호 부여하지 않음 (텍스트만)
- 동일 객체 반복 출현 (수공구 ×2, 부재 격자 등): 같은 부호 반복 사용

### Step 7. 본문·청구항 정합성 점검

박스 부호를 부여한 후 본문·청구항과 정합성 점검:

1. **본문 ↔ 박스 라벨 동기화**: 본문이 "수신부"라 칭하는 객체의 도면 박스 라벨이 같은 용어인가?
2. **청구항 한정 ↔ 도면 노출**: 청구항이 한정한 수치(예: "10mV ≤ V ≤ 4.9V")가 도면 박스에 그대로 노출됐는가? (위험)
3. **본문 정비 후 도면 동기화**: 본문이 금지어 치환(F-1 종래 → 단순 오버레이 등)됐다면 도면 이미지 텍스트도 같이 정비됐는가?
4. **도면 박스 수 vs 본문 단계 수**: 흐름도 박스가 본문보다 많으면 신규 단계 부호 추가 권장

### Step 8. 산출물 생성

#### (1) Markdown 매핑 표

```markdown
# [P-XXXX-XXX-XX-KR] 박스별 부호 할당

## 도 1 (시스템 개념도) — 박스 N개
| # | 박스 | 부호 |
|---|---|---|
| 1 | … | … |
...
```

#### (2) Excel 산출물 (openpyxl 사용)

3시트 구조:
- 시트 1: 도면별 요약
- 시트 2: 도면별 박스-부호 (전수)
- 시트 3: 마스터 부호 체계

스타일: 도면 행 강조(파란색 배경), 부호 셀 빨간색 굵게, 신규 부호 노란색 강조, 첫 행 freeze.

#### (3) 도면 이미지 수정 권장 사항

도면 자체에 수정이 필요한 사항을 별도 보고:
- 도면 안 부호가 정비 전 상태(예: 401-405 잔존)
- 본문 정비 후 도면 텍스트 미동기화(예: "종래" 잔존)
- 박스 명칭 오타/중복
- 박스에 부호 미표기 (도면 작성자에게 부여 지시)

## 핵심 노하우

### 1. 박스 식별 시 놓치기 쉬운 것

- **점선 그룹 박스**: "시스템", "외부 데이터 그룹" 같은 묶음 박스. 실선보다 눈에 덜 띄지만 부호 부여 대상.
- **화살표 라벨 박스**: 흐름도의 "YOLO 객체 탐지" 같은 처리 단계 라벨. 박스로 그려져 있으면 부호 부여.
- **그래프 박스**: 수렴 곡선, 적합도 변화 등. 데이터 시각화도 박스.
- **반복 출현 박스**: 부재 격자의 각 셀(기둥 부재 다수 출현) — 같은 부호로 반복.

### 2. 부호 범위 사전 예약

도면 박스가 많아질 가능성을 미리 보고 부서 자식 부호 범위를 충분히 예약. 예시:
- 120 디지털 트윈 모델 생성부 → 121~129 예약 (8개 박스까지 수용)
- 130 손상 데이터 생성부 → 131~139
- 부족하면 12X 다음 13X로 넘어가지 않고 121a, 121b 같은 알파벳 접미 사용 (한국 실무에서 동일 객체 복수 개체 구분에만)

### 3. 박스 ↔ 본문 명칭 동기

박스 라벨, 본문 어휘, 청구항 인용은 한 가지 대표 명칭으로 통일. 동의어 변주는 본문 정의 단락("수신부"라고 함은, 데이터 수집 모듈, 데이터 인터페이스 모듈, 입력 수신부로도 명명될 수 있다)에서만 풀어 동의어 방어망(synonym defense net) 형성.

### 4. 도면 이미지 자체 수정 vs 부호 매핑

이 스킬은 **부호 매핑 산출**까지 책임. 도면 이미지에 실제로 부호 라벨을 그래픽으로 박는 작업은 별도 (도면 작성자 또는 그래픽 도구). 본 스킬 산출물(Markdown + Excel)을 도면 작성자에게 그대로 지시서로 전달.

### 5. 정비 전 부호 잔존 처리

본문에서 kr-patent-symbol-design + 부호 정비(예: 401-405 → S151-S156)가 적용됐어도 도면 이미지 자체에는 정비 전 부호가 그대로 박혀 있을 수 있음. 별도 보고서에 명시:

```
🔴 도 7: 현재 도면에 401-405, 430 그대로. S151-S156으로 교체 필요.
🔴 도 8: 현재 도면에 501-505 그대로. 512, 521, 523, 531, 532로 교체 필요.
```

### 6. 도면 자체 오타 발견

도면 박스 명칭이 본문과 불일치하면 도면 오타. 예시 (P-2026-011-01-KR 사건):
- 도 1의 6번째 박스가 5번째 박스와 같은 "재사용 정보 생성부"로 중복 → 6번째는 "해체 시나리오 생성부"여야 함.

발견 시 즉시 별도 보고서에 명시.

## 자주 발생하는 실수

| 실수 | 결과 | 대응 |
|---|---|---|
| TIFF를 Read에 바로 넘김 (Read는 PNG/JPG 지원) | 시각 분석 실패 | Pillow로 PNG 변환 후 Read |
| `image{N}.tiff` ↔ 「도 N」 자동 일치 가정 | 매핑 오류 | 첫 1~2장 직접 확인 후 매핑 표 작성 |
| 마름모 분기 노드까지 부호 부여 | 흐름도 가독성 저하 | 텍스트만 (Yes/No 분기) |
| 동일 객체 다중 출현마다 다른 부호 | 권리범위 해석 모호 | 같은 부호 반복 사용 |
| 단가·수치 셀에 부호 부여 | 청구항 한정 노출 위험 증가 | 텍스트만 |

## 후속 스킬 연동

- **kr-patent-symbol-design**: 부호 골격이 없다면 먼저 호출. 골격 위에 본 스킬이 박스 단위 매핑 채워 넣음.
- **kr-patent-consistency-check**: 도면 매핑 완료 후 정합성 재점검 — 부호 누락, 본문↔도면 불일치 점검.
- **kr-patent-spec-drafting**: 본 스킬에서 신규 부호 부여한 객체(예: 분류 모델 151)를 본문에서 "분류 모델(151)" 식으로 인용 보강.

## 컴파운딩 루프 (개선 메모)

### 누적 학습 항목
- (예시) 등급별 분기 발명(A/B/C)은 시나리오 패널·라벨·결합 단위까지 등급별 계층 부호화 (시나리오 162/163/164, 라벨 152/153/154, 결합 166)
- (예시) 외부 입력 데이터는 시스템 100번대와 별개로 10번대(10, 11, 12)에 부여하여 외부 객체 200번대와 함께 외부 묶음 형성
- (예시) 메타휴리스틱 알고리즘의 보조 시각화(수렴 곡선, 적합도 그래프) 박스에도 부호 부여 — 본문 명시 없어도 도면 박스이면 부호 1개
