그리기 도구 상세
ImEDA의 모든 그리기 도구를 상세히 설명합니다. 공통 도구, 에디터별 전용 도구, 그리기 모드, 2-Point 패턴, 단축키를 포함합니다.
2-Point 그리기 패턴
ImEDA의 대부분의 그리기 도구는 2-Point 패턴을 따릅니다. 이 패턴은 모든 에디터에서 동일하게 적용되므로, 한 번 익히면 어디서든 사용할 수 있습니다.
시작점 지정
마우스 이동 시 미리보기
끝점 고정 + Commit
다음 P1 대기
Cancel 동작
ESC 또는 우클릭으로 Cancel 할 수 있습니다.
• pointCount > 0: 마지막 포인트를 제거하고 이전 단계로 돌아갑니다.
• pointCount == 0: 그리기 도구를 종료하고 Select 모드(action_edit_select)로 전환됩니다.
Arc, Polygon, Bezier 등 3개 이상의 포인트를 사용하는 도구도 기본 원리는 동일합니다. 각 클릭마다 포인트가 추가되며, 마지막 포인트가 확정되면 객체가 생성(commit)됩니다.
그리기 모드
선(Line), 와이어(Wire), 트랙(Track) 등 경로형 도구에서 마우스 이동 시 방향 제약을 설정할 수 있습니다.
| 모드 | 설명 | 용도 |
|---|---|---|
| Free | 자유 방향 — 마우스가 이동하는 그대로 경로가 결정됩니다. | 비정형 배선, 사선 배치 |
| Orthogonal | 수직/수평 전용 — 90도 단위로만 경로가 제한됩니다. | 회로도 와이어, PCB 직각 배선 |
| Toggle Direction | Orthogonal 모드에서 수평-우선/수직-우선을 전환합니다. / 키로 토글. | L자형 배선 방향 제어 |
모드 전환 팁
그리기 중 / 키를 누르면 Orthogonal 모드에서 수평-우선과 수직-우선이 즉시 전환됩니다. 이를 통해 L자형 경로의 꺾이는 방향을 직관적으로 제어할 수 있습니다.
공통 도구 (전 에디터 공유)
아래 도구는 SCH, PCB, Symbol(EPD), Footprint(FP) 에디터 모두에서 사용할 수 있는 범용 그리기 도구입니다.
Line (L)
두 점 사이의 직선을 그립니다. 가장 기본적인 그리기 도구로, 2-Point 패턴을 그대로 따릅니다.
| 단계 | 동작 |
|---|---|
| 1. Click | 시작점(P1) 지정 |
| 2. Move | 끝점(P2) 미리보기 — 실시간으로 선이 표시됩니다 |
| 3. Click | 끝점(P2) 확정, 선 생성(commit) |
| 4. 연속 | 이전 P2가 다음 P1이 되어 연속 그리기 가능 (ESC로 종료) |
Rectangle (R)
대각 두 꼭짓점으로 사각형을 그립니다. 첫 번째 클릭이 한 모서리, 두 번째 클릭이 대각 모서리가 됩니다.
Circle (C)
중심점과 반지름으로 원을 그립니다. 첫 번째 클릭이 중심, 두 번째 클릭 위치까지의 거리가 반지름이 됩니다.
2-Point Circle
지름의 양 끝점 2개를 지정하여 원을 그립니다. 두 점 사이의 거리가 지름이 되고, 중심은 두 점의 중간점입니다.
3-Point Circle
원 위의 3개의 점을 지정하여 원을 그립니다. 세 점을 지나는 유일한 원이 결정됩니다. 첫 두 클릭으로 포인트를 지정하고, 세 번째 클릭 시 원이 확정됩니다.
Arc
호(원의 일부)를 그리는 도구입니다. 두 가지 방식을 제공합니다.
| 방식 | 포인트 | 설명 |
|---|---|---|
| 2-Point Arc | 시작점, 끝점 | 시작점과 끝점을 지정하면 기본 곡률의 호가 생성됩니다. 마우스 이동으로 곡률(bulge)을 조정합니다. |
| 3-Point Arc | 시작점, 중간점, 끝점 | 시작점, 호 위의 중간점, 끝점 순서로 클릭합니다. 세 점이 호의 형태를 완전히 결정합니다. 내부적으로 SetArc3p()를 사용합니다. |
Ellipse
타원을 그립니다. 첫 번째 클릭으로 중심을 지정하고, 두 번째 클릭으로 장축 반지름, 세 번째 클릭(또는 드래그)으로 단축 반지름을 결정합니다.
Bezier
베지어 곡선을 그립니다. 제어점을 순서대로 클릭하여 곡선의 형태를 정의합니다. 일반적으로 4개의 제어점(시작점, 제어점1, 제어점2, 끝점)으로 3차 베지어 곡선을 생성합니다.
| 단계 | 동작 |
|---|---|
| 1. Click | 시작점 (P0) |
| 2. Click | 제어점 1 (P1) — 시작 방향 결정 |
| 3. Click | 제어점 2 (P2) — 끝 방향 결정 |
| 4. Click | 끝점 (P3) — 곡선 확정, commit |
Polygon
다각형을 그립니다. 각 클릭이 꼭짓점을 추가하며, 더블클릭 또는 시작점 근처 클릭으로 도형을 닫습니다.
| 단계 | 동작 |
|---|---|
| 1. Click | 첫 번째 꼭짓점 |
| 2~N. Click | 추가 꼭짓점 (무제한) |
| 닫기 | 더블클릭 또는 첫 번째 점 근처 클릭 → 폐합 다각형 생성 |
| Cancel | ESC → 마지막 꼭짓점 제거 (반복 시 순차 제거) |
TextBox
텍스트 박스를 배치합니다. 사각형 영역(2-Point)을 지정한 뒤 텍스트를 입력합니다. 박스 내에서 텍스트가 자동 줄바꿈됩니다.
Table
표(테이블)를 삽입합니다. 행/열 수를 지정한 뒤 배치 위치를 클릭합니다. 배치 후 Object Inspector에서 셀 내용, 행/열 수, 셀 크기 등을 편집할 수 있습니다.
Place Text (T)
단일 텍스트 객체를 배치합니다. 클릭한 위치에 텍스트가 생성되며, 즉시 내용을 입력할 수 있습니다. TextBox와 달리 경계 영역 없이 자유롭게 배치됩니다.
Dimension (치수선)
설계 도면에 치수 정보를 표시하는 치수선 도구입니다. 네 가지 유형을 제공합니다.
| 유형 | 설명 | 사용 시나리오 |
|---|---|---|
| Aligned | 두 점 사이의 실제 거리를 측정합니다. 치수선이 측정 방향과 평행하게 배치됩니다. | 사선 거리 측정, 일반 치수 표시 |
| Ortho (Orthogonal) | 두 점 사이의 수평 또는 수직 거리를 측정합니다. | 수평/수직 간격 표시, 부품 배치 간격 |
| Radial | 원 또는 호의 반지름을 측정합니다. 중심에서 원주까지의 거리를 표시합니다. | 원형 패드 크기, 라운드 코너 반경 |
| Leader | 지시선(화살표)과 텍스트로 구성된 주석형 치수입니다. 특정 지점을 가리키며 설명을 추가합니다. | 특수 주석, 조립 지시, 참고 사항 표시 |
치수선 속성
치수선은 Object Inspector에서 다음 속성을 편집할 수 있습니다:
height(오프셋), arrow_length(화살표 크기),
prefix(접두사 텍스트), precision(소수점 자릿수).
Snaplines (스냅라인)
캔버스에 수평(H), 수직(V), 또는 수평+수직(HV) 보조선을 배치합니다. 스냅라인은 객체 정렬의 시각적 가이드로 사용되며, 인쇄되지 않습니다.
| 유형 | 설명 |
|---|---|
| H (수평) | 수평 보조선 — 클릭한 Y 좌표에 수평선 배치 |
| V (수직) | 수직 보조선 — 클릭한 X 좌표에 수직선 배치 |
| HV (십자) | 수평 + 수직 보조선을 동시에 배치 |
Add Image (이미지 삽입)
외부 이미지 파일(PNG, JPG 등)을 도면에 삽입합니다. 파일 선택 다이얼로그에서 이미지를 선택한 뒤, 클릭으로 배치 위치를 지정합니다. 배치 후 크기 조절 및 이동이 가능합니다.
Barcode Tool (바코드 생성)
1D/2D 바코드를 생성하여 도면에 배치합니다. 바코드 유형, 데이터 내용, 크기 등을 설정한 뒤 클릭으로 배치합니다. 제품 라벨, 보드 식별 코드, 시리얼 넘버 등을 도면에 직접 포함할 때 유용합니다.
에디터별 전용 도구
아래 도구는 특정 에디터에서만 사용할 수 있는 전문 도구입니다.
SCH (회로도) 전용
| 도구 | 단축키 | 설명 |
|---|---|---|
| Wire | W | 전기적 연결선을 그립니다. 핀과 핀 사이를 연결하며, 교차점에서 자동으로 Junction을 생성합니다. |
| Bus | B | 다중 신호를 하나로 묶는 버스를 그립니다. 버스 이름으로 신호 그룹을 정의합니다. |
| Bus Entry | — | Wire에서 Bus로 진입하는 버스 엔트리를 배치합니다. |
| Net Label | — | Wire에 네트 이름을 부여하는 라벨을 배치합니다. 같은 이름의 라벨은 전기적으로 연결됩니다. |
| Power Port | — | 전원 심볼(VCC, GND 등)을 배치합니다. |
| No Connect (X) | — | 사용하지 않는 핀에 No Connect 표시를 배치합니다. |
| Hierarchical Sheet | — | 서브시트를 배치하여 계층 구조 회로도를 구성합니다. |
| Sheet Pin | — | Hierarchical Sheet에 시트 핀을 추가하여 상위 시트와 연결합니다. |
Symbol Editor (EPD) 전용
| 도구 | 설명 |
|---|---|
| Place Pin | 심볼에 핀을 추가합니다. 핀 이름, 번호, Electrical Type, Shape 등을 설정합니다. |
Footprint Editor (FP) / PCB 전용
| 도구 | 단축키 | 설명 |
|---|---|---|
| Pad | P | SMD 패드 또는 Through-Hole 패드를 배치합니다. 패드 형태(원형/직사각형/타원 등), 크기, 드릴 정보를 설정합니다. |
| Track | X | 동박 배선(트랙)을 그립니다. 현재 레이어와 폭 설정에 따라 배선됩니다. |
| Via | V | 비아를 배치합니다. 레이어 간 전기적 연결을 위해 사용합니다. |
| Zone (Fill) | — | 동박 영역(Zone/Pour)을 그립니다. 다각형 형태로 영역을 정의하며, 내부가 동박으로 채워집니다. |
단축키 총정리
그리기 도구의 주요 단축키를 정리합니다. 단축키는 Customize 다이얼로그에서 변경할 수 있습니다.
| 단축키 | 도구 | 에디터 | 설명 |
|---|---|---|---|
| L | Line | 전체 | 직선 그리기 |
| R | Rectangle | 전체 | 사각형 그리기 |
| C | Circle | 전체 | 원 그리기 |
| T | Place Text | 전체 | 텍스트 배치 |
| W | Wire | SCH | 전기 연결선 (회로도 전용) |
| B | Bus | SCH | 버스 그리기 (회로도 전용) |
| P | Pad | FP / PCB | 패드 배치 |
| X | Track | PCB | 동박 배선 |
| V | Via | PCB | 비아 배치 |
| ESC | Cancel | 전체 | 마지막 포인트 제거 / 도구 종료 |
| / | Toggle Direction | 전체 | Orthogonal 모드 방향 전환 |
도구별 포인트 수 요약
각 도구가 몇 개의 포인트를 사용하여 객체를 생성하는지 요약합니다.
| 포인트 수 | 도구 | 비고 |
|---|---|---|
| 1-Point | Place Text, Power Port, Net Label, No Connect, Pad, Via, Add Image, Barcode | 클릭 위치에 즉시 배치 |
| 2-Point | Line, Rectangle, Circle, 2-Point Circle, 2-Point Arc, TextBox, Snapline, Dimension(Aligned/Ortho), Track, Wire, Bus | 시작점 + 끝점 |
| 3-Point | 3-Point Arc, 3-Point Circle, Ellipse, Dimension(Radial) | 3개의 점으로 형태 결정 |
| N-Point | Polygon, Bezier, Zone, Dimension(Leader) | 더블클릭 또는 시작점 근처 클릭으로 종료 |
Drawing Tool 구현 구조
그리기 도구는 Lua 스크립트로 구현되어 있으며, 각 문서 유형별로 스크립트가 분리됩니다.
Click / Move / ESC
__ccall (wxWidgets)
install/script/lua/tools/
commit + render
스크립트 위치
그리기 도구 Lua 스크립트는 install/script/lua/tools/<docType>/<toolName>.lua 경로에 있습니다.
문서 유형별(SCH, PCB, EPD, FP)로 디렉토리가 분리되어 있습니다.