--- status: stable page_id: B08_DesignDetail related_pages: ["[[B08_DesignDetail/B08_CAD_commands]]", "[[B08_DesignDetail/B08_CAD_interaction]]", "[[B08_DesignDetail/B08_frontend]]"] last_updated: 2026-08-30 source: ["docs/raw/plans/2026-08-30_plan_B08_CAD_blocks_interaction_tables.md", "docs/raw/verification/2026-08-30_verify_B08_CAD_blocks_interaction_tables.md"] --- # B08 CAD 블록 라이브러리·사진 ## 구현 | 항목 | 위치 | 역할 | |---|---|---| | `IMAGEATTACH` | `openwebcad/src/helpers/pick-file.ts` | 파일 선택 후 이미지 도구에 `FILE_SELECTED` 전달 | | 블록 저장소 | `openwebcad/src/blocks/block-library.ts` | localStorage CRUD·직렬화·파일 가져오기/내보내기 | | `BLOCK` | `openwebcad/src/commands/` | 선택 객체와 bbox 중심 기준점 저장 | | `INSERT` | `openwebcad/src/tools/insert-block-tool.ts` | 1:1·0도 배치, 새 id·도면층·공통 groupId 부여 | | 블록 팔레트 | openwebcad 리본 삽입 탭 | 저장 블록 선택·삽입·삭제·파일 교환 | 저장 키는 `aislo-cad-block-library`이며 도면 JSON과 분리해 다른 도면에서도 재사용한다. 회전·축척은 삽입 단계에 중복 구현하지 않고 기존 `ROTATE`·`SCALE`을 사용한다. ## 범위 결정 - 반영: 사진 부착, BLOCK/INSERT, 블록 파일 가져오기·내보내기. - 제외 확정: 외부참조, PDF, 속성·동적·스마트 블록, WBLOCK, 데이터 링크, 필드, 지리 위치. - 백엔드 영속화는 실제 수요가 생길 때 추가한다. ## 검증 블록 기준점·삽입 bbox 단위검사와 실제 BLOCK/INSERT/IMAGEATTACH 화면 조작, 타입검사·빌드를 완료했다.