달립니다Lv.0 등록일: 2016-08-282016-08-28T08:33:41+09:00 2016-08-28T08:33:41+09:00카테고리: AutoCAD & CADian 다중면적 여러개의 객체를 클릭했을때 그 면적의 합계를 ‘면적(m2):oo’으로 자동표기하는 리습을 구하고 싶습니다. 질문 게시판을 읽어보고 해도 잘 모르겠네요. 좋은 주말 되세요…. 공유 Facebook 관련 있는 질문들 객체 전체 간격 조정 할수 있을까요? 블록 안에서 블록을 만들 수 있나요? 과거에는 됐었는데 2023부터 안되나요? 캐드 2023 find 명령어가 너무 느립니다. 폴리선 각도에 맞는 문자를 폴리선위에 올리고싶습니다. (관로선형에 위에문자올릴때) 3 답변 작성 순 최신 순 공감 순 달립니다 Lv.0 2016-08-29T08:23:46+09:00답변 등록 답변 등록 일시 2016-08-29 8:23 am (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) 위의 리습을 실행하면 명령창에 면적합계는 나오는데 도면상에 문자 시작점을 찍으라는 말은 없이 그냥 명령이 종료되어 버립니다. 어떤 문구를 수정해야 할까요? 우기로기 Lv.0 2016-08-29T14:05:58+09:00답변 등록 답변 등록 일시 2016-08-29 2:05 pm (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) 달립니다 Lv.0 2016-08-29T16:38:33+09:00답변 등록 답변 등록 일시 2016-08-29 4:38 pm 하이구야님 답변에 감사드립니다. 문제가 시원하게 해결되었습니다. 그런데요, 문자크기를 수정할려면 어떻게 해야 할까요? 한꺼번에 질문 못드려 죄송합니다. 수고하세요………
(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)
하이구야님 답변에 감사드립니다. 문제가 시원하게 해결되었습니다. 그런데요, 문자크기를 수정할려면 어떻게 해야 할까요? 한꺼번에 질문 못드려 죄송합니다. 수고하세요………