면적및길이 구하는 리습 aaa
컨텐츠 정보
- 957 조회
- 1 댓글
- 0 추천
- 0 비추천
- 목록
본문
(defun c:aaa ( / doc space ss index obj mi mx minpt maxpt inspt area txtobj)
(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 (and (setq ss (car (entsel "n객체 선택 : "))) (setq inspt (getpoint "n텍스트 삽입점 지정 : ")))
(progn
(setq obj (vlax-ename->vla-object ss))
(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 1000))
(vla-put-alignment txtobj 10)
(vla-put-textalignmentpoint txtobj p)
(setq inspt (polar inspt (/ (* 270 pi) 180) 1000))
)
(list (rtos (/ area 1000000.) 2 2) (rtos (/ len 1000.) 2 2)) '("m2″ "m")
)
)
)
(princ)
)
(vl-load-com)
(prompt "n[ AAA ]")
(princ)
면적(m2)과 길이(m) 줄 간격을 500 띄우고 싶어요 어떻게 수정해야 하나요 도와주세요
예) 123.22 m2
123.22 m
관련자료
상큼메론90님의 댓글
(defun c:aaa ( / doc space ss index obj mi mx minpt maxpt inspt area txtobj) (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 (and (setq ss (car (entsel "n객체 선택 : "))) (setq inspt (getpoint "n텍스트 삽입점 지정 : "))) (progn (setq obj (vlax-ename->vla-object ss)) (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 1000)) ; 1000 숫자가 글자크기 입니다. (vla-put-alignment txtobj 10) (vla-put-textalignmentpoint txtobj p) (setq inspt (polar inspt (/ (* 270 pi) 180) 1000)) ; 1000 숫자가 줄간격 입니다. ) (list (rtos (/ area 1000000.) 2 2) (rtos (/ len 1000.) 2 2)) '("m2″ "m") ) ) ) (princ) ) (vl-load-com) (prompt "n[ AAA ]") (princ)