프로그램
캐드 분류

다중면적

컨텐츠 정보

본문

여러개의 객체를 클릭했을때 그 면적의 합계를 '면적(m2):oo'으로 자동표기하는 리습을 구하고 싶습니다. 질문 게시판을 읽어보고 해도 잘 모르겠네요. 좋은 주말 되세요….

관련자료

댓글 3

달립니다님의 댓글

하이구야님 답변에 감사드립니다. 문제가 시원하게 해결되었습니다. 그런데요, 문자크기를 수정할려면 어떻게 해야 할까요? 한꺼번에 질문 못드려 죄송합니다. 수고하세요………

우기로기님의 댓글

(defun c:as ( / ss index asum e obj tmparea msp spt txtobj )   (if (setq ss (ssget (list (cons 0 "CIRCLE,ARC,LWPOLYLINE,ELLIPSE,SPLINE"))))     (progn       (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))       (setq index 0 asum 0)       (repeat (sslength ss)  (setq e (ssname ss index))  (setq obj (vlax-ename->vla-object e))  (setq tmparea (vla-get-area obj))  (setq asum (+ asum tmparea))  (setq index (1+ index))       )       (prompt (strcat "n총 면적 = " (rtos (/ asum 1000000.) 2 2))) ;(setq slen (strlen #a))

 ;(if (< 3 slen)  ; (setq #b (strcat (substr #a 1 (- slen 3))","(substr #a (- slen 2))))  ????

      (initget 1)       (setq spt (getpoint "n문자시작점: "))       (setq txtobj (vla-addtext msp (strcat "면적(m²) : " (rtos (/ asum 1000000.) 2 2)) (vlax-3d-point spt) (getvar "textsize")))     )   )   (princ) ) (vl-load-com) (prompt "n[ ASUM ]") (princ)

달립니다님의 댓글

(defun c:as ( / ss index asum e obj tmparea msp spt txtobj )   (if (setq ss (ssget (list (cons 0 "CIRCLE,ARC,LWPOLYLINE,ELLIPSE,SPLINE"))))     (progn       (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))       (setq index 0 asum 0)       (repeat (sslength ss)  (setq e (ssname ss index))  (setq obj (vlax-ename->vla-object e))  (setq tmparea (vla-get-area obj))  (setq asum (+ asum tmparea))  (setq index (1+ index))       )       (prompt (strcat "n총 면적 = " (rtos (/ asum 1000000.) 2 2))) (setq slen (strlen #a))

 (if (< 3 slen)   (setq #b (strcat (substr #a 1 (- slen 3))","(substr #a (- slen 2))))  )

      (initget 1)       (setq spt (getpoint "n문자시작점: "))       (setq txtobj (vla-addtext msp (strcat "면적(m²) : " (rtos (/ asum 1000000.) 2 2)) (vlax-3d-point spt) (getvar "textsize")))     )   )   (princ) ) (vl-load-com) (prompt "n[ ASUM ]") (princ)

위의 리습을 실행하면 명령창에 면적합계는 나오는데 도면상에 문자 시작점을 찍으라는 말은 없이 그냥 명령이 종료되어 버립니다. 어떤 문구를 수정해야 할까요?

여분필드1 여분필드2 여분필드3
전체 63 / 3 페이지
번호
제목
이름
알림 0