현재 해치면적리습 사용중입니다
하지만 두가지정도 원하는게있습니다
1.현재 해치리습사용시 텍스트가 중앙에만 나올수있게 코딩이되어있는데 제가 삽입점을 만들어서 찍고싶습니다.
2.개별해치를 여러개 묶고 사용시 개별해치별 면적 기입이되는데 전부 합쳐서 합계를 내고싶습니다.. 비슷한 질문들을 여러개 모아 이번에 최종파일을 만들었으니 쓰실분은 쓰시고 피드백부탁드립니다.
감사합니다.
(defun c:xx (/ sel np cp ar)
(vl-load-com)
(setq sel (mapcar ‘vlax-ename->vla-object (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex (ssget ‘((0 . “hatch”))))))))
;; 텍스트 크기를 고정으로 하고싶으면 여기부터
(if (not ts)
(setq ts 10))
(setq np (getdist (strcat “n 문자높이 지정 [” (vl-princ-to-string ts) “]:”)))
(if (= np nil)
(setq np ts)
(setq ts (rtos np 2 1)))
;;여기까지 주석처리….
(foreach x sel
(vla-getboundingbox x ‘p1 ‘p2)
(setq cp (mapcar ‘(lambda (a b) (/ (+ a b) 2)) (vlax-safearray->list p1) (vlax-safearray->list p2))
ar (vl-princ-to-string (rtos(vlax-get x ‘area) 2 2)))
(entmakex (list (cons 0 “TEXT”)
(cons 100 “AcDbEntity”)
(cons 100 “AcDbText”)
(cons 6 “Continuous”)
(cons 10 cp)
(cons 40 (* (atof ts) (getvar ‘ltscale)));;(atof ts)를 텍스트 크기로 바꿔주면 됩니다.
(cons 1 ar)
(cons 62 1)
(cons 72 1)
(cons 73 2)
(cons 11 cp))))
(princ)
)
찾던건데 감사합니다^^