AutoCAD 선택한 치수나 문자에 기호를 추가하는 리습
2024. 11. 11. 07:26ㆍ기술 자료/CAD
반응형
AutoCAD에서 선택한 치수나 문자에 기호를 추가하는 리습 프로그램
안녕하세요, 오늘은 AutoCAD에서 작업할 때 선택한 치수나 문자에 특정 기호를 손쉽게 추가할 수 있는 리습(LISP) 프로그램을 소개하려고 합니다. 이 프로그램은 반복적인 기호 추가 작업을 자동화하여 작업 효율을 높이는 데 도움이 됩니다.

기능 소개
이 리습 프로그램은 다음과 같은 기능을 제공합니다:
- 선택한 치수나 문자에 지정한 기호를 추가합니다.
- 이미 해당 기호가 포함되어 있으면 추가하지 않습니다.
- 기호를 앞이나 뒤에 추가할 수 있으며, 공백을 선택적으로 삽입할 수 있습니다.
- 사용자가 단축키(명령 이름)를 변경하여 사용할 수 있습니다.
사용 가능한 기호 및 코드
기호를 추가할 때 두 가지 방법으로 코드를 입력할 수 있습니다:
1) %% 코드 또는 특수문자 코드 사용
코드 | 기호 | 설명 |
---|---|---|
%%C 또는 %%248 |
⌀ | 지름 |
%%D 또는 %%176 |
° | 도 |
%%P 또는 %%177 |
± | 공차 |
%%178 |
² | 제곱 |
%%179 |
³ | 세제곱 |
%%215 |
× | 곱하기 |
%%247 |
÷ | 나누기 |
%%33 |
! | 느낌표 |
%%34 |
" | 따옴표 |
2) 유니코드 사용 (\U+코드
)
코드 | 기호 | 설명 |
---|---|---|
\U+2205 |
⌀ | 지름 |
\U+00B0 |
° | 도 |
\U+00B1 |
± | 공차 |
\U+00B2 |
² | 제곱 |
\U+00B3 |
³ | 세제곱 |
\U+0278 |
ɸ | 전기위상 |
\U+0394 |
Δ | 델타 |
\U+0424 |
Ф | 파이 |
\U+2104 |
℄ | 중심선 |
\U+2126 |
Ω | 옴 |
\U+2220 |
∠ | 각도 |
\U+2248 |
≈ | 거의 같음 |
\U+2260 |
≠ | 같지 않음 |
\U+2261 |
≡ | 항등 |
\U+214A |
⅊ | 판/특성 선 |
\U+E001 |
사용자 정의 기호 | |
\U+E002 |
■ | |
\U+E003 |
□ | |
\U+E110 |
↑ | |
\U+E111 |
→ | |
\U+E112 |
← | |
\U+E234 |
사용자 정의 기호 |
참고: 일부 기호는 유니코드로 표시되지 않을 수 있으나, 필요한 경우 해당 코드를 사용하여 추가할 수 있습니다.
사용 방법
- 리습 파일을 AutoCAD에 로드합니다.
- 아래의 사용자 설정 부분에서 필요한 값을 수정합니다:
symbol-code
: 추가할 기호의 코드 (예:"%%C"
또는"\U+2205"
)add-position
: 기호를 추가할 위치 ("앞"
또는"뒤"
)add-space
: 기호와 텍스트 사이에 공백 추가 여부 (T
또는nil
)c:QQ
: 명령어 이름을 원하는 단축키로 변경 (예:c:ADDSYMBOL
)
- 명령창에 단축키를 입력하고, 기호를 추가할 치수나 문자를 선택합니다.
코드 설명
아래는 리습 프로그램의 전체 코드입니다:
선택한 치수 또는 문자에 기호 추가하기.lsp
4.0 kB
(defun c:QQ (/ os ss sslen elist ass1 otxt ntxt k
symbol-code ; 추가할 기호의 코드
symbol-pattern ; 기호가 이미 있는지 확인하는 패턴
add-position ; 기호를 앞에 추가할지 뒤에 추가할지 ("앞" 또는 "뒤")
add-space) ; 기호와 텍스트 사이에 공백 추가 여부 (T 또는 nil)
;; 사용자 설정 부분 시작
(setq symbol-code "%%C") ; 추가할 기호의 코드 (예: "%%C" 또는 "\U+2205")
(setq add-position "앞") ; 기호 추가 위치: "앞" 또는 "뒤"
(setq add-space nil) ; 기호와 텍스트 사이에 공백 추가 여부: T 또는 nil
;; 사용자 설정 부분 끝
;; 기호가 이미 있는지 확인하는 패턴 설정
(setq symbol-pattern (strcat symbol-code "*"))
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(prompt "\n기호를 추가할 치수나 문자를 선택하세요 -> ")
(setq ss (ssget))
(if ss
(progn
(setq sslen (sslength ss) k 0)
(while (< k sslen)
(setq elist (entget (ssname ss k)))
(setq ass1 (assoc 1 elist))
(setq otxt (cdr ass1))
(if (or (not otxt) (= otxt ""))
(setq otxt "<>"))
;; 텍스트에 이미 기호가 없는 경우에만 추가
(if (not (wcmatch otxt symbol-pattern))
(progn
;; 공백 추가 여부에 따라 공백 설정
(setq space (if add-space " " ""))
;; 기호를 앞 또는 뒤에 추가
(setq ntxt
(cond
((equal add-position "앞") (strcat symbol-code space otxt))
((equal add-position "뒤") (strcat otxt space symbol-code))
(T otxt)))
;; 엔티티 리스트에서 텍스트 업데이트
(setq elist (subst (cons 1 ntxt) ass1 elist))
;; 엔티티 수정 적용
(entmod elist)
)
)
(setq k (1+ k))
)
)
)
(setvar "osmode" os)
(prin1)
)
코드 커스터마이징
1. 추가할 기호 변경
(setq symbol-code "%%C") ; 추가할 기호의 코드 (예: "%%C" 또는 "\U+2205")
원하는 기호의 코드를 symbol-code
변수에 입력합니다.
2. 기호 추가 위치 설정
(setq add-position "앞") ; 기호 추가 위치: "앞" 또는 "뒤"
"앞"
: 기존 텍스트 앞에 기호를 추가합니다."뒤"
: 기존 텍스트 뒤에 기호를 추가합니다.
3. 공백 추가 여부 설정
(setq add-space nil) ; 기호와 텍스트 사이에 공백 추가 여부: T 또는 nil
T
: 기호와 텍스트 사이에 공백을 추가합니다.nil
: 공백 없이 기호를 추가합니다.
4. 명령어 단축키 변경
(defun c:QQ (...)
c:QQ
에서 QQ
를 원하는 단축키로 변경합니다. 예를 들어 c:ADDSYMBOL
로 변경하면 명령창에서 ADDSYMBOL
을 입력하여 실행할 수 있습니다.
사용 예시
- 리습 파일을 로드합니다.
- 명령창에
QQ
(또는 설정한 단축키)를 입력합니다. - "기호를 추가할 치수나 문자를 선택하세요"라는 메시지가 나타나면, 기호를 추가할 객체를 선택합니다.
- 선택한 객체에 설정한 기호가 추가됩니다.
주의사항:
- 이미 해당 기호가 포함된 텍스트나 치수에는 기호가 추가되지 않습니다.
- 일부 특수 기호는 폰트나 설정에 따라 제대로 표시되지 않을 수 있습니다.
- 이미 해당 기호가 포함된 텍스트나 치수에는 기호가 추가되지 않습니다.
- 일부 특수 기호는 폰트나 설정에 따라 제대로 표시되지 않을 수 있습니다.
결론
이 리습 프로그램을 통해 반복적인 기호 추가 작업을 자동화하여 작업 시간을 단축하고 효율성을 높일 수 있습니다. 필요에 따라 코드를 커스터마이징하여 자신만의 작업 환경을 구축해 보세요.
즐거운 작업 되세요!

728x90
반응형
'기술 자료 > CAD' 카테고리의 다른 글
AutoCAD 필수 리습 시리즈 5: 블록 & 속성 관리 (0) | 2025.02.02 |
---|---|
AutoCAD 필수 리습 시리즈 4: 유틸리티 & 단축키 (0) | 2025.02.02 |
AutoCAD 필수 리습 시리즈 3: 레이어 & 객체 관리 (0) | 2025.02.02 |
AutoCAD 필수 리습 시리즈 2: 치수 & 텍스트 작업 (0) | 2025.02.02 |
AutoCAD 필수 리습 시리즈 1: 기본 도형 생성 & 편집 (0) | 2025.02.02 |