그리기 도구 상세

ImEDA의 모든 그리기 도구를 상세히 설명합니다. 공통 도구, 에디터별 전용 도구, 그리기 모드, 2-Point 패턴, 단축키를 포함합니다.

2-Point 그리기 패턴

ImEDA의 대부분의 그리기 도구는 2-Point 패턴을 따릅니다. 이 패턴은 모든 에디터에서 동일하게 적용되므로, 한 번 익히면 어디서든 사용할 수 있습니다.

2-Point Drawing Workflow
Click (P1)
시작점 지정
Move (P2 추적)
마우스 이동 시 미리보기
Click (P2)
끝점 고정 + Commit
Reset
다음 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추가 꼭짓점 (무제한)
닫기더블클릭 또는 첫 번째 점 근처 클릭 → 폐합 다각형 생성
CancelESC → 마지막 꼭짓점 제거 (반복 시 순차 제거)

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 (회로도) 전용

도구단축키설명
WireW전기적 연결선을 그립니다. 핀과 핀 사이를 연결하며, 교차점에서 자동으로 Junction을 생성합니다.
BusB다중 신호를 하나로 묶는 버스를 그립니다. 버스 이름으로 신호 그룹을 정의합니다.
Bus EntryWire에서 Bus로 진입하는 버스 엔트리를 배치합니다.
Net LabelWire에 네트 이름을 부여하는 라벨을 배치합니다. 같은 이름의 라벨은 전기적으로 연결됩니다.
Power Port전원 심볼(VCC, GND 등)을 배치합니다.
No Connect (X)사용하지 않는 핀에 No Connect 표시를 배치합니다.
Hierarchical Sheet서브시트를 배치하여 계층 구조 회로도를 구성합니다.
Sheet PinHierarchical Sheet에 시트 핀을 추가하여 상위 시트와 연결합니다.

Symbol Editor (EPD) 전용

도구설명
Place Pin심볼에 핀을 추가합니다. 핀 이름, 번호, Electrical Type, Shape 등을 설정합니다.

Footprint Editor (FP) / PCB 전용

도구단축키설명
PadPSMD 패드 또는 Through-Hole 패드를 배치합니다. 패드 형태(원형/직사각형/타원 등), 크기, 드릴 정보를 설정합니다.
TrackX동박 배선(트랙)을 그립니다. 현재 레이어와 폭 설정에 따라 배선됩니다.
ViaV비아를 배치합니다. 레이어 간 전기적 연결을 위해 사용합니다.
Zone (Fill)동박 영역(Zone/Pour)을 그립니다. 다각형 형태로 영역을 정의하며, 내부가 동박으로 채워집니다.

단축키 총정리

그리기 도구의 주요 단축키를 정리합니다. 단축키는 Customize 다이얼로그에서 변경할 수 있습니다.

단축키도구에디터설명
LLine전체직선 그리기
RRectangle전체사각형 그리기
CCircle전체원 그리기
TPlace Text전체텍스트 배치
WWireSCH전기 연결선 (회로도 전용)
BBusSCH버스 그리기 (회로도 전용)
PPadFP / PCB패드 배치
XTrackPCB동박 배선
VViaPCB비아 배치
ESCCancel전체마지막 포인트 제거 / 도구 종료
/Toggle Direction전체Orthogonal 모드 방향 전환

도구별 포인트 수 요약

각 도구가 몇 개의 포인트를 사용하여 객체를 생성하는지 요약합니다.

포인트 수도구비고
1-PointPlace Text, Power Port, Net Label, No Connect, Pad, Via, Add Image, Barcode클릭 위치에 즉시 배치
2-PointLine, Rectangle, Circle, 2-Point Circle, 2-Point Arc, TextBox, Snapline, Dimension(Aligned/Ortho), Track, Wire, Bus시작점 + 끝점
3-Point3-Point Arc, 3-Point Circle, Ellipse, Dimension(Radial)3개의 점으로 형태 결정
N-PointPolygon, Bezier, Zone, Dimension(Leader)더블클릭 또는 시작점 근처 클릭으로 종료

Drawing Tool 구현 구조

그리기 도구는 Lua 스크립트로 구현되어 있으며, 각 문서 유형별로 스크립트가 분리됩니다.

Drawing Tool Architecture
사용자 입력
Click / Move / ESC
C++ 브릿지
__ccall (wxWidgets)
Lua 스크립트
install/script/lua/tools/
엔진 객체 생성
commit + render

스크립트 위치

그리기 도구 Lua 스크립트는 install/script/lua/tools/<docType>/<toolName>.lua 경로에 있습니다. 문서 유형별(SCH, PCB, EPD, FP)로 디렉토리가 분리되어 있습니다.