PCB - PCB 보드 엔진
60개 헤더 파일 - 다층 PCB 보드의 레이어, 배선, 풋프린트 관리 엔진
핵심 클래스
c_board
PCB 보드 전체를 관리하는 최상위 클래스입니다. 레이어 스택, 디자인 룰, 풋프린트, 배선 등 모든 PCB 데이터를 관할합니다.
c_footprint
풋프린트(부품 배치) 컨테이너입니다. 패드, 실크스크린 도형, 코트야드 등을 포함하며, PCB 위에 배치됩니다.
c_board_item
모든 PCB 요소의 기본 클래스입니다. 레이어 소속, 넷 연결, DRC 속성 등 PCB 특화 기능을 제공합니다.
c_pcb_track
PCB 배선 트랙입니다. 시작점-끝점 세그먼트로 구성되며, 비아(via)를 포함한 배선 경로를 형성합니다.
c_pcb_pad
풋프린트 패드입니다. SMD, Through-hole, NPTH 등 다양한 패드 타입을 지원하며, 넷 연결의 기본 단위입니다.
c_zone
동박 영역(Copper Zone)입니다. GND 플레인, 전원 플레인 등 넓은 영역의 동박을 관리합니다.
레이어 시스템
PCB 엔진은 최대 62층의 동박 레이어와 다양한 기술 레이어를 지원합니다. 모든 레이어는 S-expression 이름으로 식별되며, LayerNamePCB(id)와 LayerNameToIdPCB(name)으로 변환합니다.
LayerNameToIdPCB()가 미인식 이름을 받으면 기본값 CU_FR로 매핑됩니다. S-expr 이름을 정확히 사용해야 합니다.동박 레이어 (Copper)
| 카테고리 | 레이어 | S-expr 이름 |
|---|---|---|
| 앞면 동박 | Front Copper | CU_FR |
| 내층 동박 | Inner Layer 1~60 | CU_IN_1 ~ CU_IN_60 |
| 뒷면 동박 | Back Copper | CU_BK |
실크/마스크/페이스트 레이어
| 카테고리 | 앞면 | 뒷면 |
|---|---|---|
| 실크스크린 | SILK_FR | SILK_BK |
| 솔더마스크 | SM_FR | SM_BK |
| 솔더페이스트 | PASTE_FR | PASTE_BK |
풋프린트 레이어
| 카테고리 | 앞면 | 뒷면 |
|---|---|---|
| Courtyard | CRTYD_FR | CRTYD_BK |
| Fabrication | FAB_FR | FAB_BK |
| Adhesive | ADH_FR | ADH_BK |
기타 레이어
| 카테고리 | S-expr 이름 | 설명 |
|---|---|---|
| 치수 | DIM_FR, DIM_BK | 치수선 레이어 (앞면/뒷면) |
| 보드 외곽 | BOARD_OUTLINE | PCB 보드 외곽선 |
| 마진 | MARGIN | 보드 마진 영역 |
| 사용자 정의 | USER_1 ~ USER_16 | 사용자 커스텀 레이어 (최대 16개) |
설계 기능
Board Stackup Manager
다층 PCB의 레이어 스택업을 관리합니다. 동박 두께, 프리프레그/코어 두께, 재질 등을 설정하며, 임피던스 계산의 기초 데이터를 제공합니다.
Design Settings / DRC
배선 폭, 간격, 비아 크기 등 디자인 룰을 정의합니다. DRC(Design Rule Check)는 이 설정을 기준으로 보드의 규칙 위반을 검출합니다.
Connectivity Data
넷 연결 정보를 관리합니다. 넷리스트에서 가져온 연결 정보와 실제 배선 상태를 비교하여 미배선(ratsnest)을 표시합니다.
Array Creator
선택된 요소를 그리드/원형 배열로 복제합니다. LED 매트릭스, 커넥터 핀 배열 등 반복적인 패턴 배치에 활용됩니다.
Zone Management
동박 영역의 채움(fill), 우선순위, 넷 할당을 관리합니다. Thermal relief, Solid fill 등 패드 연결 방식을 설정할 수 있습니다.
c_board_commit
PCB 전용 Undo/Redo 커밋 클래스입니다. 트랙, 풋프린트, 존 등 PCB 요소의 변경사항을 추적하고 되돌리기를 지원합니다.