아래의 리습은 길이, 면적을 구하는 리습입니다.
PL을 클릭하면 면적(평), 면적(m2), 길이(m)가 나오는데
길이만 나오는데
“길이 : “는 표시 안되게 부탁드립니다.
단위는 m로 하고 소수점 3자리까지 부탁드립니다.
(defun c:aaa ( / doc space ss index obj mi mx minpt maxpt inspt area txtobj )
(setvar “cmdecho” 0)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(cond
((= (vla-get-activespace doc) 1) (setq space (vla-get-modelspace doc)))
((= (vla-get-activespace doc) 0) (setq space (vla-get-paperspace doc)))
)
(if (setq ss (ssget (list (cons 0 “CIRCLE,ARC,*POLYLINE,LINE,ELLIPSE,SPLINE”))))
(if (or (setq ts (getreal (strcat “n텍스트 높이 입력 <” (vl-princ-to-string (getvar “textsize”)) “>:”))) (setq ts (getvar “textsize”)))
(progn
(setvar “textsize” ts)
(setq index 0)
(repeat (sslength ss)
(setq obj (vlax-ename->vla-object (ssname ss index)))
(vla-getboundingbox obj ‘mi ‘mx)
(setq minpt (vlax-safearray->list mi) maxpt (vlax-safearray->list mx))
(setq inspt (polar minpt (angle minpt maxpt) (/ (distance minpt maxpt) 2)))
(setq inspt (list (car inspt) (+ (cadr inspt) (* ts 2))))
(setq area (vla-get-area obj) len (vlax-curve-getdistatparam obj (vlax-curve-getendparam obj)))
(mapcar ‘(lambda (a b)
(setq p (vlax-3d-point inspt))
(setq txtobj (vla-addtext space (strcat a b) p ts))
(vla-put-alignment txtobj 4)
(vla-put-textalignmentpoint txtobj p)
(setq inspt (polar inspt (/ (* 270 pi) 180) (* ts 2)))
)
‘(“면적(㎡) : ” “길이(m) : ” ) (list (rtos (/ area 1000000.) 2 3) (rtos (/ len 1000.) 2 2))
)
(setq index (1+ index))
)
(command “chprop” (ssget “x” ‘((0 . “TEXT”) (1 . “평*”))) “” “c” “7” “”)
)
)
)
(princ)
)
(vl-load-com)
(prompt “n[ AAA ]”)
(princ)
제이케이님Lv.0
aaa리습(길이면적표시리습) 길이만 나오게 부탁드립니다.
공유
‘(“면적(㎡) : ” “길이(m) : ” ) (list (rtos (/ area 1000000.) 2 3) (rtos (/ len 1000.) 2 2))
길이 뒤쪽 값도 같이 지운다는건지 저 글자만 지운다는건지 위 글을 몇번 읽어봐도 모르겠네요.
평 : X
면적() : Y
“길이(mm) : “는 표시 안되게 부탁드립니다.
면적이랑 평은 안나오게 부탁드립니다.
수고하세요 ^^;;
덧. 앞으로는 급하게 질문하시지 마시고 초보자도 알아볼수있게 상세하게 질문 하셔야해요
전 한번에 뭔소린지 안들어오더라고요 그러면 손이 안가게 되더라구요 ^^;;
아옙 제가 너무 성급했네요 시간에 떠밀려서…..ㅋ
2. 그리고 단위가 소수점2자리까지 표시되는데 3자리까지 부탁드립니다!
막혀있지 않는 도형만 이미지처럼 글이써지고 막혀있는 도형은 기존과 같습니다
수고하세요 ^^;;
와우 대박 정말감사합니다^^