반응형
리습을 사용하는 사람이라면 대부분 사용하는 리습인 "LLE 리습"을 종종 사용하는데,
전체 길이를 구하고 나서, 명령행에 표시된다.
이걸 수정해 봤다.
LISP | EXP. |
(defun c:lle () | defun함수 시작 / 명령어LLE |
(vl-load-com) (setq ent (ssget '((0 . "LINE,CIRCLE,ARC,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE")))) (setq n 0 dis 0) (repeat (sslength ent) (setq en (vlax-ename->vla-object (ssname ent n))) (setq ep (vlax-curve-getEndParam en)) (setq dis (+ dis (vlax-curve-getDistAtParam en ep))) (setq n (1+ n)) ) |
기존 LLE 함수 |
(setq pt0 (getpoint "\n 글자 입력 위치......?")) (setq txt_H (getint "\n 글자 높이 지정......?")) |
글자위치/높이 입력 받음 |
(setq pt1 (list(car pt0) (- (cadr pt0) (* txt_H 2)) 0)) | 겹치지않게 새로운 점을 추가 |
(command "-TEXT" "J" "MC" pt1 txt_H "0" (strcat "길이합계=" (rtos dis) "(mm)")) | 총길이를 -TEXT 명령으로 쓰기 |
(prompt (strcat " 길이합계 = " (rtos dis))) | 명령행에 표시 |
(command "-TEXT" "J" "MC" pt0 txt_H "0" (strcat "길이합계=" (rtos (/ dis 1000) 2 3)"(M)")) | 총길이(dis)/1000 으로 단위환산(미터) |
(princ) | |
) | defun함수 종료 |
(defun c:lle ()
(vl-load-com)
(setq ent (ssget '((0 . "LINE,CIRCLE,ARC,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE"))))
(setq n 0 dis 0)
(repeat (sslength ent)
(setq en (vlax-ename->vla-object (ssname ent n)))
(setq ep (vlax-curve-getEndParam en))
(setq dis (+ dis (vlax-curve-getDistAtParam en ep)))
(setq n (1+ n))
)
(setq pt0 (getpoint "\n 글자 입력 위치......?"))
(setq txt_H (getint "\n 글자 높이 지정......?"))
(setq pt1 (list(car pt0) (- (cadr pt0) (* txt_H 2)) 0))
(command "-TEXT" "J" "MC" pt1 txt_H "0" (strcat "길이합계=" (rtos dis) "(mm)"))
(prompt (strcat " 길이합계 = " (rtos dis)))
(command "-TEXT" "J" "MC" pt0 txt_H "0" (strcat "길이합계=" (rtos (/ dis 1000) 2 3)"(M)"))
(princ)
)
starcat : 문자합치기
pt1의 ruddn pt0점의 x좌표, pt0의 Y좌표에 글자높이의 2배를 뺀 좌표임
rtos는 실수를 문자로 변경하는 함수
참고-------->[Auto CAD]<LISP> 변환 함수(atoi, itoa, atof, rtos)
반응형
'침실2_CAD' 카테고리의 다른 글
CAD LISP- 라디오 버튼 DCL/LISP (0) | 2021.02.15 |
---|---|
Auto CAD- TASKBAR / SDI (0) | 2020.12.21 |
Auto CAD 관련- 시작 탭 열리지 않게 하기 (0) | 2020.12.01 |
Auto CAD- 배경색 변경 (0) | 2020.11.24 |
Auto CAD- LISP ZOOM (0) | 2020.08.04 |
Auto CAD- LISP 문자 스타일 지정 리습 (0) | 2020.07.07 |
Auto CAD- LISP "OSMODE" (0) | 2020.06.30 |
Auto CAD- LISP 변환 함수(atoi, itoa, atof, rtos) (0) | 2020.06.04 |
Auto CAD- LISP Getint / Getstring / Getpoint 함수 (0) | 2020.05.29 |
Auto CAD- Funtion KEY (0) | 2020.05.23 |