캐드(AutoCAD)에서 AutoLisp 강좌 예제 - 건축 문(door) 그리기
AutoLisp 강좌 예제 - 건축 문(door) 그리기
AutoCAD에서 AutoLISP을 이용하여 사용자가 입력한 길이와 높이를 기준으로 건축 문(door)을 작성하는 프로그램을 작성할 수 있습니다.
이 예제에서는 기본적인 사각형 형태의 문을 그리는 방식으로 설명할 것입니다.
문을 그릴 때 기본적으로 기준점, 길이와 높이를 입력받고, 직사각형 형태로 문을 그린 후, Command문을 이용하여 폴리선(Pline)을 이용하여 형태를 그려줍니다.
다음은 AutoLISP 코드를 이용한 문(door)을 작성하는 예제입니다:
예제코드:
(defun c:CrDoor()
(princ "\nCrDoor 명령이 로드되었습니다. 명령을 실행하려면 'CrDoor'를 입력하세요.")
(setq pt1 (getpoint "\n문(door)을 좌측위치의 시작점을 클릭하세요: ")) ;문(door) 배치 시작점 위치 선택
(setq dLength (getdist pt1 "\n문(door)의 가로 길이를 입력하세요: ")) ;문(door) 길이를 입력
(setq dHeight (getdist pt1 "\n문(door)의 세로 높이를 입력하세요: ")) ;문(door) 높이를 입력
(setq pt2 (polar pt1 0 dLength)) ;pt2 점을 polar를 이용하여 잡는다.
(setq pt3 (polar pt2 (/ PI 2) dHeight)) ;pt3 점을 polar를 이용하여 잡는다.
(setq pt4 (polar pt1 (/ PI ss2) dHeight)) ;pt4 점을 polar를 이용하여 잡는다.
(setq pt5 (polar pt4 (/ PI 2) dLength)) ;pt5 점을 polar를 이용하여 잡는다.
(Command "pline" pt4 pt1 pt2 pt3 pt4 pt5 "a" "ce" pt4 "a" -90 "")
(princ)
)
설명:
1. getpoint를 이용하여 문의 기준점을 클릭합니다.
2. getdist를 이용하여 문의 가로 길이와 세로 길이를 입력받습니다.
(이때, 길이 및 높이를 숫자로 입력하여도 됩니다.)
3. polar 함수를 이용하여, 각각의 포인트를 잡아냅니다.
4. Command 함수를 이용하여 폴리선(Polyline)을 이용하여 문을 그려줍니다.
사용 방법1:
1. 이 코드를 AutoCAD의 VisualLISP 편집기에서 입력하고, 저장 후 로드합니다.
2. 명령창에 CrDoor를 입력 합니다.
3. 문의 좌측위치의 시작점을 입력하고, 사각형의 가로 길이와 세로 길이, 위치를 입력하여 사각형을 그립니다.
사용 방법2:
1. 원하는 이름.lsp 파일을 만들고, 위의 코드를 작성합니다.
2. Appload 명령을 이용하여 (원하는 이름.lsp)파일을 선택하여 load 합니다.
3. 명령창에 CrDoor를 입력 합니다.
4. 사각형의 가로 길이와 세로 길이, 위치를 입력하여 사각형을 그립니다.
이 코드를 활용하면 쉽게 건축 문(Door)을 만들 수 있고, 응용한 다른 형태의 건축관련 도면을 생성할 수 있습니다.
AutoLisp을 예제와 함수를 연습할 수 있습니다.