오토캐드(AUTO CAD) 리습(Lisp) 문자 함수 살펴보기

문자 관련 함수 알아보기

Autolisp에서 문자 데이터를 확인하고 변환하는 기능을 가진 함수들을 살펴보겠습니다. 오늘 다룰 함수들은 문자를 숫자, 숫자를 문자로 변환하는 방법과 문자를 추출하기 위한 함수를 간단히 살펴보겠습니다.

1. Ascii

( Ascii 문자 or 숫자 or 기호 or 변수)

ascii 함수는 문자, 숫자, 기호 또는 이들을 포함한 변수를 ASCII CODE 번호로 변환합니다. 아래 ASCII 코드표를 보시면 좌측에는 번호, 우측에는 해당 값이 표기되어 있습니다. 변수, 숫자, 문자, 기호는 문자 형식의 데이터를 입력해야 오류가 없습니다. (데이터 앞과 뒤에 ” “를 추가)

<예시>
(Ascii "a")
(Ascii "A")
(Setq txt "a")
(Ascii txt)
(Ascii "3")

autolisp-문자-함수-ascii

2. Chr

( Chr 정수 or 변수)

Chr 함수는 정수 또는 정수가 포함된 변수를 입력하면 해당 번호의 ASCII 값을 호출합니다. 입력하는 데이터 형식은 모두 숫자(정수) 형식의 데이터를 입력해야 오류가 없습니다.

<예시>
(Chr 65)
(Chr 97)
(Setq a 65)
(Chr a)

autolisp-문자-함수-chr

3. Itoa

(Itoa 정수 or 변수)

Itoa 함수는 정수 또는 정수를 포함한 변수를 문자로 변환합니다. 실수를 입력하면 오류가 발생합니다.

<예시>
(itoa 123)
(itoa 123.456)
(setq a 234)
(itoa a)

autolisp-문자-함수-itoa

4. Rtos

(Rtos 정수 or 실수 or 변수 [선택모드] [정밀도])

Rtos 함수는 정수, 실수 또는 이들을 포함한 변수를 문자로 변환합니다. 또한 선택 모드와 정밀도를 입력하여 표시할 수 있습니다. 정밀도를 생략하면 사용자 설정에 따른 정밀도가 표시됩니다.

선택 모드
1 : 지수
2 : 십진수
3 : 피트 소수 인치 (feet and decimal inches)
4 : 피트 분수 인치 (feet and fractional inches)
5 : 분수

정밀도
0 : 소수점 생략
1 : 소수점 이하 1자리
2 : 소수점 이하 2자리
3 : 소수점 이하 3자리
4 : 소수점 이하 4자리


<예시>
(Rtos 123.456 2 0)
(Rtos 123.456 2 1)
(Rtos 123.456 2 2)
(Setq a 123.345)
(Rtos a 2 2)

autolisp-문자-함수-rtos

5. Atoi

(Atoi 문자 or 변수)

Atoi 함수는 문자 또는 문자가 포함된 변수를 정수로 변환합니다. 여기서 문자는 숫자로 구성된 문자 데이터를 뜻합니다. 위에서 다룬 itoa, rtos 함수는 숫자(정수, 실수)를 문자로 변환했습니다. 이렇게 숫자에서 문자로 변환된 데이터를 atoi 함수를 사용하여 정수로 변환할 수 있습니다.

<예시>
(Atoi "123")
(Atoi "123.456")
(setq a "567")
(Atoi a)

autolisp-문자-함수-atoi

6. Atof

(Atof 문자 or 변수)

Atof 함수는 문자 또는 문자가 포함된 변수를 실수로 변환합니다. 여기서 사용되는 문자는 숫자로 구성된 문자를 뜻합니다.

<예시>
(atof "123.456")
(atof "123")
(setq a "234")
(atof a)

autolisp-문자-함수-atof

7. Strcat

(strcat 문자1 문자2 문자3)

Strcat 함수는 문자를 결합할 때 사용합니다. 결합할 문자는 복수로 지정할 수 있으며, 결합순서는 왼쪽에서 오른쪽으로 결합합니다. 문자와 문자만 결합할 수 있으며, 숫자가 포함되면 에러가 발생합니다. 여기서 숫자는 문자 형태로 변환되지 않은 숫자를 말합니다.

<예시>
(Strcat "문자1" "문자2" "문자3")
(Strcat "문자" 123)
(Strcat 문자 "123")
(Strcat "Auto" "cad" "2024")

autolisp-문자-함수-strcat

8. Substr

(Substr 문자열 추출위치 추출개수)

Substr 함수는 문자열에서 특정 위치의 문자를 추출합니다. 문자열의 가장 왼쪽이 1번이며, 추출 위치에서 지정한 개수 만큼 출력합니다. 문자열 위치는 공백(띄어쓰기)도 포함됩니다.

<예시>
(substr "안녕하세요" 3 3)
(substr 12345 3 3)
(setq a "안녕하세요")
(substr a 3 3)

Autolisp-문자-함수-substr

9. Strcase

(Strcase 문자열 [변환옵션])

Strcase 함수는 문자열을 대문자 또는 소문자로 변환합니다. 변환 옵션은 생략하거나 nill을 입력하면 대문자로 변환하고 T를 입력하면 소문자로 변환합니다.

<예시>
(strcase "autoCAD 2014")
(strcase "autoCAD 2014" nill)
(strcase "AUTOcad 2014" T)
(setq a "AUTOcad 2014")
(strcase a nill)
(strcase a T)

autolisp-문자-함수-strcase

10. Strlen

(Strlen 문자열)

문자열의 개수를 정수로 표시합니다. 문자열 위치에 문자열이 지정된 변수를 사용해도 해당 문자열의 개수를 표시할 수 있습니다.

<예시>
(Strlen "방갑습니다.")
(Strlen "1234567")
(Strlen aaaaaaa)
(setq a "문자갯수는?")
(Strlen a)

autolisp-문자-함수-strlen

마치며

오늘은 리습에서 사용하는 문자 함수를 정리해보았습니다. 오늘 다룬 내용을 표로 정리해보았습니다. 숫자와 문자 형태를 다루는 함수가 처음 이해하기는 어려운 부분입니다. 리습(LISP)에서 “123”과 123은 같아 보이지만 데이터 성격이 다른 데이터입니다. 쉽게 구분하는 방법으로 연산이 가능하면 “숫자” 데이터, 반대로 연산이 안 된다면 “문자” 데이터입니다. 오늘 내용을 천천히 살펴보시고 이해하시기 바랍니다.

Leave a Comment