반응형
AutoLISP를 사용하여 선택한 블록의 위치 출력합니다.
- AutoCAD에서 AutoLISP 실행:
- 명령줄에서 VLISP를 입력하여 Visual LISP 편집기를 열어 아래의 코드를 작성합니다.
- LISP 코드 작성: 아래의 코드는 선택한 블록의 위치를 가져와 출력하는 간단한 예입니다.
(defun C:GetBlockPosition ( / selSet blkName blkHandle blkEnt blkInsertPt) ;; 선택한 블록 집합 만들기
(setq selSet (ssget "_I" '((0 . "INSERT")))) ;; INSERT는 블록을 의미
(if selSet (progn ;; 선택한 블록 정보 가져오기
(setq blkEnt (ssname selSet 0)) ;; 선택된 첫 번째 블록 가져오기
(setq blkName (cdr (assoc 2 (entget blkEnt)))) ;; 블록 이름
(setq blkInsertPt (cdr (assoc 10 (entget blkEnt)))) ;; 블록의 삽입점 좌표
(princ (strcat "\nBlock Name: " blkName)) ;; 블록 이름 출력
(princ (strcat "\nInsertion Point: " (rtos (car blkInsertPt)) ", " (rtos (cadr blkInsertPt)) ", " (rtos (caddr blkInsertPt)))) ;; 좌표 출력 )
(princ "\nNo block selected or invalid selection.") ;; 선택되지 않았을 때 )
(princ)
)
(setq selSet (ssget "_I" '((0 . "INSERT")))) ;; INSERT는 블록을 의미
(if selSet (progn ;; 선택한 블록 정보 가져오기
(setq blkEnt (ssname selSet 0)) ;; 선택된 첫 번째 블록 가져오기
(setq blkName (cdr (assoc 2 (entget blkEnt)))) ;; 블록 이름
(setq blkInsertPt (cdr (assoc 10 (entget blkEnt)))) ;; 블록의 삽입점 좌표
(princ (strcat "\nBlock Name: " blkName)) ;; 블록 이름 출력
(princ (strcat "\nInsertion Point: " (rtos (car blkInsertPt)) ", " (rtos (cadr blkInsertPt)) ", " (rtos (caddr blkInsertPt)))) ;; 좌표 출력 )
(princ "\nNo block selected or invalid selection.") ;; 선택되지 않았을 때 )
(princ)
)
GetBlockPosition.lsp
0.00MB
코드 설명:
- ssget "_I"는 현재 선택된 객체(블록)를 가져오는 함수입니다.
- entget은 객체의 데이터 리스트를 반환하며, 여기서 삽입점 좌표는 assoc 10을 사용하여 얻을 수 있습니다.
- princ는 결과를 명령줄에 출력하는 함수입니다.
실행 방법:
- AutoCAD 명령줄에 VLISP를 입력하여 LISP 편집기를 엽니다.
- 새 파일을 만들고 위 코드를 붙여넣습니다.
- 파일을 저장한 후, 편집기에서 코드를 로드합니다.
- AutoCAD 명령줄에서 GetBlockPosition을 입력하면 선택한 블록의 이름과 삽입점 좌표가 출력됩니다.
실행 방법 2:
이 방법을 통해 AutoCAD에서 선택한 블록의 위치를 간단하게 확인할 수 있습니다.
반응형
'AutoLisp' 카테고리의 다른 글
AutoLisp 강좌 예제- AutoCAD에서 선택한 객체 Layer로 현재(Current) 레이어로 변경하기 (0) | 2025.02.01 |
---|---|
오토캐드 AutoLisp 강좌 예제 - 객체에서 레이어(Layer)명을 가져온다. (0) | 2025.01.26 |
[AutoLisp]오토캐드 AutoLisp 강좌 예제 - 오토리습을 이용한 사각형(Rectang) 만들기 예제 (0) | 2024.05.25 |
[AutoCAD]AutoLisp 강좌 예제 - AutoCAD DXF 객체정보 확인하기 (0) | 2024.02.23 |
[AutoCAD]오토캐드 AutoLisp 강좌 예제 - AutoLisp으로 단축키를 만들기 (0) | 2024.02.23 |