Entity 개수 확인 (sslength ) 의 존재하는 객체의 개수를 표시 1. (sslength) 사용자로 하여금 어떤 객체를 선택하게 한 후 그 객체의 갯수를 알고자 할 때 사용하는 함수. 2. 예제 (defun c:test1(/ ent n) (setq ent (ssget)) ; 객체 선택 요구 (setq n (sslength ent)); 선택 객체 개수 (prompt "Entity numbers #"); "Entity numbers #" 화면에 출력 (princ n); 선택 갯수를 화면에 출력 (princ) ) 이 함수는 (repeat) (while) 문 등과 함께 객체의 수만큼 반복할 때 많이 사용될 함수이다. 객체의 속성 변경 글자의 크기, 글자의 폭, 글자의 스타일, 라인의 시작(끝)위치, ..
변수의 수명 관리 이번에는 리습 생성 시 사용되는 변수를 임시로 만들 것인지 영구 변수로 사용할 것인지에 대해 알아보자. 1. 변수저장에 대해서 알아보자. 캐드 명령 창에서 아래와 같이 입력해 보자. (setq a 1) 이렇게 입력하게 되면 a=1 값을 가지고 기억하고 있다. a값이 얼마인지 알아보려면 캐드 텍스트 창에서 !a 라고 쳐보자. 그러면 '1' 이라는 답이 텍스트 창에 보일 것이다. 몇 가지 더해보자. (setq b "TEST STRING") !b; b값을 보여줘라. (setq c (ssget)); 캐드 화면에서 성분을 선택한다. !c; c값을 보여준다. 2. 리습에서의 변수 기억 (defun c:test1(/ e f g) (setq e 1 f 2 g 3) ) 위의 test 1 뒤의 (/ e ..
repeat 반복문 똑같은 명령을 반복하고자 할 때 사용한다. 1. (repeat)의 설명 (repeat ) 위의 '정수'부분은 꼭 1,2,3,4... 같은 정수만 써야 한다. 1.0, 2.0, 3.0과 같이 소수점이 붙은 정수 같은 숫자들도 안된다. 지금은 소숫점을 숫자로 써놓아서 당연히 이해하겠지만 정수 자리에 변수가 들어가면 변수가 꼭 정수형인지 확인해야 한다. 2. 바로 예제로 들어가 보자 아래의 예제는 n 값을 초기값인 1로 설정하고 10번을 반복하면서 1씩 더해간다. 결괏값인 'n'은 '11'이 된다. (defun c:test1() (setq n 1) ; 초기값 n ← 1 로 설정한다. (repeat 10 ; 10번을 반복한다. (setq n (+ 1 n)); n ← n+1 ); End of ..
사용자에게 입력값 받기 숫자, 문자등을 명령창에서 변수로 가져와 코드를 작성할때 사용하게 됩니다. 가장 많이 사용하는 3가지 함수입니다. (getint) -> 정수 (getreal) -> 실수 (getstring) -> 문자 1. getint - 숫자중 정수만을 입력받고 싶을때 사용됩니다. (정수를 간단히 설명하면 0이 포함된 소숫점이 없는 숫자라 생각하시면 됩니다) (예 : 0, 1, 44, -24123, ,,, ) 예로 알아 봅시다 (setq test1 (getint)) 이렇게 하면 test1 이라는 변수에 사용자가 입력한 값을 넣어 줍니다. (setq test1 (getint "값을 입력하시오 : ")) 이렇게 하면 화면에 "값을 입력하시오 : " 라는 메세지가 화면에 표시 됩니다. 화면에 메세지를..
변수의 정의 (a) 다른 언어를 좀 하신 분이라면 쉽게 이해하시겠지만 초보자를 위해서 좀 자세히 설명하겠습니다. 1. 변수란 무엇인가? 변수란 변하는 수, 계속 변하는 값이며 그 값을 저장하는 공간을 '변수'라 부릅니다. 예로 3.141592라는 긴 숫자를 매번 쓰기보단 3.141592라는 숫자를 pi로 정의해 놓으면 그다음부터는 pi라고만 써도 3.141592라고 인식한다는 겁니다. 이것을 리습으로 형식으로 작성하면 (setq pi 3.141592) 이렇게 됩니다. 2. setq 란 무엇인가? 변수를 정의할 때 사용하는 명령어입니다. 리습은 항상 괄호를 열고 닫는 걸 기억하셔야 합니다. 3. (setq a b) b의 값을 a에 할당하라는 명령입니다, 즉 정의한단 말이죠 아래를 계속 읽어보면 조금 더 쉬..
LISP은 CAD LT 버전에선 이용할 수 없습니다. 단축키 만들기 캐드의 Acad.pgp 파일은 사용자로 하여금 단축키를 정의할 수 있는 파일입니다. 하지만 LISP 파일의 명령이 우선순위가 높아 단축키 정의가 쉽게 되지 않는 분은 리습의 단축키를 확인해 보시기 바랍니다. 1. Line 명령의 단축키 아래의 글을 Notepad.exe 나 기타 텍스트 에디터로 하나 만들어서 아무 이름이나 저장하고 (예:test1.lsp) 캐드에서 load 하십시오. (defun c:Li() (command "LINE")) lsp 파일 로드방법 1. appload 후 해당 파일 선택. 2. 탐색기 창에서 파일을 드래그 후 캐드 창에 놓기. 위 리습은 "line"을 "Li"라는 단축키로 바꾸어 놓은 것입니다. c: 다음의 ..