Communitygithub.com

YHLLXY/gift-pcb

생일 카드, 기념패, 학교 배지, 비정형 전시판, 펜던트 등 회로 없이 미술만 있는 PCB를 만들거나, 기존 기념판의 시각적 언어(무광 블랙 솔더 마스크 + 침금, 직조 패턴, 흰색 실크스크린)를 재사용하여 JLCPCB/EasyEDA Pro에서 주문 가능한 수준으로 제작할 때 사용합니다. 또한 '참고판은 금/흑/백인데 내가 복제한 건 다르다'는 문제 해결에도 적합합니다. BOM, 배선, SMT가 필요한 기능성 기판에는 사용하지 마세요.

gift-pcb란 무엇인가요?

이 스킬은 회로가 전혀 없는 순수 미술용 PCB(기념패, 배지, 전시판 등)를 제작하기 위한 완벽한 파이프라인을 제공합니다. EasyEDA Pro 환경에서 작동하며, 단순히 그림을 그리는 것이 아니라 '참고판 분석 → 벡터화 → 제조성 검증 → EDA 구현 → 3D 검수 → Gerber 추출'의 8단계 게이트 프로세스를 통해 실제 제조가 가능한 수준의 설계를 보장합니다. 특히 금면적(12-24%), 흰색 실크스크린(≥0.3%), 무광 블랙(65-85%)의 3색 비율 자동 검증, 참고판에서의 패턴 복제, 직조 패턴 추출, 0.06mm 스캔라인 기반 복잡 문자 처리, .epcb2 직접 작성 가속화 등 전문 제조 노하우를 스크립트와 체크리스트로 체계화했습니다. 13개의 가장 비싼 실수 사례를 포함한 118개의 함정 목록과 자가 진단 스크립트(scripts/13-check.py)를 제공하여 실수를 예방하고, 3D 렌더링(scripts/14-render3d.py)을 통해 사용자 승인을 받은 후에만 최종 주문 패키지를 생성합니다. Claude Code, Cursor 등 AI 에이전트 환경에서 실행되며, 사용자와의 정확한 요구사항 인터뷰(8개 질문)와 3D 검수(14개 항목)를 두 개의 가장 중요한 게이트로 강조합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YHLLXY/pcb-art-skill/tree/HEAD

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

기념 전시판 (gift-pcb)

회로 없이 미술만 있는 PCB입니다. 어려운 점은 회로도가 아니라 반복적으로 무시되는 세 가지에 있습니다: 참고판이 실제로 어떻게 생겼는지, 각 레이어가 각각 어떤 재질인지, '그럴듯해 보이는 것'과 '실측이 맞는 것'의 차이.

세 가지 철칙

  1. 레이어별로 보세요, 합성 그림으로 보지 마세요. 구리는 솔더 마스크로 덮이면 검은색이고, '구리 + 오프닝'만이 금색을 냅니다.
  2. 측정하세요, 추정하지 마세요. 모든 '충분한지'는 밀리미터/픽셀 실측 숫자로 확인하고 답변에 포함해야 합니다. 추정한 숫자는 세 번째 재작업에서 들통납니다.
  3. 먼저 복사하고, 그 다음에 수정하세요. 참고판, 공식 로고에서 이미 해결된 문제는 그 기하학을 그대로 가져오고, 재발명하지 마세요.

여덟 단계와 게이트

단계산출물게이트 (통과 못하면 다음 단계 안 됨)
P0 기획수령인, 크기, 공정, 요소 목록모든 요소가 '어디에, 얼마나 크게'에 답할 수 있음
P0.5 요구사항 인터뷰용도, 상황, 사실적/장식용, 손그림 원고, 예산8개 질문 완료 (06 참조), 특히 '손글씨 느낌 필요 여부'
P1 참고판 디코딩레이어별 렌더링 이미지 + 요소 목록 + 3색 비율표; 참고판 없으면 자료 검색① 그림으로 구리/금/실크스크린/구멍 구분 가능; ② scripts/00-decode_badge.py 실행으로 로고 프로토타입(선화/원판) + 반경 + 면적 + 가장 가는 선 출력; ③ 참고판 있으면 금/흑/백 세 숫자 측정; ④ 07의 10개 복사 체크리스트 작성 (각 항목 실측 숫자 포함, 복사 여부는 사용자 결정)
P2 레이아웃앞/뒤 비트맵 목업사용자가 레이아웃 확인; '미리보기가 최종 결과를 보장하지 않는다'고 명시
P3 벡터 및 제조성로고/텍스트 벡터, 선폭표, 금면적 예산최소 선폭 ≥ 공정 하한; 금 12–24%, 흰색 ≥0.3%, 무광 블랙 65–85%
P4 EDA 구현프로젝트 + 보드 + 각 레이어 도형각 레이어 저장 후 다시 읽어서 도형 수가 계획과 일치하는지 확인
P4.5 3D 검수scripts/14-render3d.py 출력 앞/뒤 3D 이미지 + 사용자 항목별 확인 (C1 결함 확인 / C2 디자인 평가 / C3 추가 자료 필요 여부)사용자가 '됐다'고 말할 때까지, 최소 1회, 이상적으로 2회; 동의 없이 주문 패키지 출력 금지
P5 내보내기 검증Gerber 패키지 + 주문 패키지scripts/13-check.py 모두 통과 (금/흑/백 세 가지 비율 포함) + ≥60 px/mm 국부 이미지 (육안 검사)

P0.5와 P4.5는 가장 쉽게 건너뛰고 가장 비용이 많이 드는 게이트입니다. 전자는 올바른 작업을 결정하고, 후자는 사용자 승인을 결정합니다.

바로 찾아보기

하고 싶은 일이 문서 읽기
작업 시작 전 사용자에게 물을 질문, 3D 검수 방법, 금면적 계산법references/06-需求访谈与验收.md
참고판 Gerber 열어서 각 레이어 판별references/01-参考板解码.md
선폭, 기계 가공 가능 여부, 비트맵->벡터 변환, 스캔라인 정밀도, 직조 패턴 매개변수references/02-制造性与矢量.md
직조 패턴 적용 (참고판 텍스처 재현)scripts/15-weave.py (--extract로 모든 참고판에서 테이블 추출 가능)
참고판에서 무엇을 복사할지 (금테/구멍 그룹/블리드/실크스크린 계층 등)references/07-从参考板抄什么.md
자료 부족, 인터넷에서 이미지 검색references/08-素材爬取计划.md + scripts/17-crawl_assets.py
여러 이미지 중 보드에 올릴 이미지 선별scripts/18-filter_assets.py (이미지 벽 출력, 사람이 선택)
작업 시작 전 사용자에게 물을 질문 (작성 가능한 설문)templates/问卷.md
레이아웃 구성 방법을 모를 때templates/layouts/ (3개 템플릿 + 24 px/mm 예시)
EDA 열지 않고 spec 미리보기scripts/20-preview_spec.py
EasyEDA Pro CLI/JS 호출references/03-EDA落地.md
도형 하나하나 추가하지 않고 직접 .epcb2 작성references/03-EDA落地.md 섹션 8
로고가 채워진 색상 블록 + 흰색 속이 빈 글자 (원판형)references/02-制造性与矢量.md '로고에는 두 가지 원형이 있습니다'
사용자 검수를 위한 3D 미리보기 출력scripts/14-render3d.py
어떤 단계에서든 '이상해 보이면' 먼저 역사적 실패 사례 확인references/04-踩坑清单.md (118개, A–R 섹션)
주문 패키징, 현재 파일이 검수된 버전인지 확인scripts/19-pack_order.py (MANIFEST + --verify)
스크립트 수정 후 보드가 손상되지 않았는지 확인python -m pytest tests -q (금판 재현/직조 패턴/자체 점검)
글꼴 변경 / 다른 기계에서 실행 안 될 때references/02-制造性与矢量.md '글꼴'
자료 검색, 다른 유사 스킬 참고references/05-参考资源.md

P4 시작 전에 반드시 references/03을 읽어야 합니다. 가장 비용이 많이 들었던 실수는 기억에 의존해 create()의 매개변수 순서를 추측한 것이었고, 올바른 시그니처는 항상 우리 03 문서에 있었습니다.

가장 비용이 많이 드는 13가지 (전문은 04 참조)

  1. 금색 = 구리 + 오프닝, 두 레이어 모두 필수; 금 12–24% (동일 크기 참고판 22.0%, 13-check 기준, 02 '두 가지 기준' 참조). 8% 미만이면 빈 보드이고, 26% 초과이면 전체 보드가 금색입니다.
  2. 로고는 먼저 원형을 판별한 후 작업하세요: 선화형 → 전체 묘사; 원판형(채워진 색상 블록 + 흰색 속이 빈 글자) → 채워진 원반 + 글자는 검은색 속이 빈 처리. 원형을 잘못 판별하면 글자에 톱니가 생깁니다(v3가 이렇게 폐기됨).
  3. 복잡한 글꼴에 다각형 부울 연산을 사용하지 말고, 래스터화 + 0.06mm 스캔라인을 사용하세요; 단 라틴 문자/숫자는 텍스트 객체(벡터)를 우선 사용하고, 스캔라인은 한자, 손글씨, 그래픽에만 사용합니다.
  4. 배경 텍스처는 경계에 클리핑해야 합니다(둥근 모서리에서 원과의 교차), 경계를 넘는 선분 전체를 버리지 마세요. 그렇지 않으면 보드 가장자리에 톱니 모양 결함이 생깁니다.
  5. 같은 레이어에 배경 텍스처가 있을 때 모든 bbox 조건 필터에 크기 서명을 추가해야 합니다. 그렇지 않으면 텍스처가 함께 삭제됩니다.
  6. 배치 쓰기는 ≤600개/배치, 배치 간 sleep, 실패 시 재시도, 마무리 시 좌표 기반 중복 제거; setState_*는 디스크에 저장되지 않으며, 기하학 수정은 modify()만 신뢰하세요.
  7. 뒷면 3개 레이어(2/4/6)는 모두 미러링하여 생성해야 함; 하단 실크스크린은 레이어 4지 3이 아닙니다.
  8. 사용자가 '안 닮았다'고 할 때, 문제는 거의 항상 규칙(배치, 비율, 계층)에 있고 매개변수에 있지 않습니다. 참고판을 숫자로 변환하여 확인하고, 숫자를 조정하지 마세요.
  9. .epcb2를 작성한 후 반드시 session close --destroy 후 open을 실행해야 합니다. 편집기가 디스크 변경 사항을 자동으로 다시 로드하지 않으며, 내보내기 시 이전 도형을 가져옵니다(109번째 항목).
  10. 전체 보드는 .epcb2 텍스트로 직접 작성할 수 있습니다(한 줄에 하나의 JSON, 하나의 FILL로 하나의 path). CLI 배치 주입보다 한 자릿수 빠릅니다. 단 뒷면 텍스트는 mirror:true로 안 되며, 기하학을 미러링해야 합니다.
  11. 원형은 항상 path:["CIRCLE",cx,cy,r] + width를 사용하세요. 스캔라인으로 원을 그리면 옆의 글자와 붙어서 틈이 생깁니다.
  12. '복사할 수 있는 것은 모두 복사하라' — 하지만 복사하는 것은 숫자이지 인상이 아닙니다. 보드 가장자리 금테는 보드 프레임 위에 눌려 있고(보이는 너비 = 선폭/2), 구멍 그룹은 그 φ0.3 작은 구멍과 연결되어 있고, 도형은 보드 밖으로 블리드되고, 실크스크린 세 줄은 세 가지 글꼴, 하단 가로선 — 항목별로 측정하여 07의 표를 채우고, 복사 여부는 사용자에게 물어보세요.
  13. 자체 점검은 반드시 '스크립트 출력 표 + ≥60 px/mm 국부 이미지'여야 합니다. 20 px/mm는 0.06mm 결함을 볼 수 없습니다; '허용 가능'이라고 쓰는 것은 보지 못한 것보다 더 나쁩니다. 직조 패턴은 별도로: 반드시 80 px/mm로 12×12mm 블록을 별도로 검사해야 합니다. 합성 이미지에서는 항상 '회색 덩어리'처럼 보입니다.

인도물 (매번 최종본에 포함)

  • export/<name>_gerber_<date>_v<n>.zip
  • preview/board-gerber<n>.png: 앞/뒤 각각 Gerber 래스터화 후 합성, EDA 스크린샷 아님
  • preview/v<n>_front3d.png / v<n>_back3d.png: 14-render3d.py가 출력한 유사 3D (무광 블랙 릴리프 + 금 반사), 사용자 P4.5 검수용
  • docs/03-当前状态.md: 레이어 통계, 기하학 매개변수, 확정 항목, 미결 항목
  • docs/验收单.md: 13-check.py --md 생성 실측 표 + P4.5 14개 항목 체크 (보드별 한 부씩, 구두로 묻지 마세요)
  • 주문 패키지: Gerber + 미리보기 이미지 + 프로젝트 소스 파일 + 下单说明.txt (실측 데이터 및 알려진 위험 포함) + MANIFEST.txt (scripts/19-pack_order.py에서 sha256 생성, 압축 풀고 --verify로 일치 확인 후 주문)

자체 점검 (매번 인도 전, 하나라도 빠지면 안 됨)

  1. scripts/13-check.py 실행, 모두 통과해야 계속 진행 (크기/금면적/최소 선폭/최소 실크스크린/흰색 실크스크린/무광 블랙/드릴/도형 수/링 커버리지). 직조 패턴이 있는 보드는 반드시 --weave 추가: 보드의 2mm 단위 방향을 참고판 텍스처 테이블과 격자별로 비교, 일치율 ≥90%여야 복사 성공. 동시에 --md docs/验收单.md 추가, 숫자와 P4.5 14개 항목을 함께 문서화.
  2. ≥60 px/mm 국부 이미지 출력, 세 곳 고정 확인: 로고, 주요 텍스트, 보드 모서리 한 곳.
  3. 위 두 단계의 숫자를 답변에 포함, '확인했습니다'만 쓰지 마세요.
  4. 결함 발견: 먼저 수정한 후, '허용 가능'이라고 할지 결정 — '허용 가능'은 수정 방안이 아닙니다.
  5. P4.5의 3D 이미지를 실제로 사용자에게 보여줘야 합니다 (앞+뒤 두 장), '이미 렌더링되었습니다'라고만 말하지 마세요.

관련 스킬