그 작업을 하다보면 홀의 개수를 세야하는 경우가 빈번한데요
필터를 통해서 특정원의 숫자를 셀수도 있지만,
하다보니 손이 너무많이 가서여, 블록카운트라는 리습을 찾았는데여,
그건 블록인 것만 숫자를 세주더라고요,
그 다양한 홀들을 일일히 블록으로 만들어놓치않아서여
그 제가 세고자하는 범위를 드래그하고 특정파이의 원을 선택했을때 그 파이의 개수가 몇개지 세워주는
리습이 혹시 있지않을까해서요 ㅎㅎ 부탁드립니다.
공유
비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.
해당 질문을 신고하는 이유를 간단히 입력해주세요.
해당 답변을 신고하는 이유를 간단히 입력해주세요.
해당 유저를 신고하는 이유를 간단히 입력해주세요.
기존에 갖고있던 지름 변경하는 리습을 살짝 수정해서 올려드립니다.
버그 있으면 댓글로…
;;;;;;;;;;;;;;;<특정원 카운트하기>;;;;;;;;;;;;;;;
(defun C:NNN( )
(setq tar (entsel “검색할 지름에 해당하는 원을 클릭할 것:”))
(while ( = tar nil )
(setq tar (entsel “검색할 지름에 해당하는 원을 클릭할 것:”))
)
(setq wwname (cdr (assoc 0 (entget (car tar)))))
(if ( /= wwname “CIRCLE” )
(progn
(alert “원이 아닌 객체를 선택했음”)
(quit)
);progn end
);if end
(setq wwrad (cdr (assoc 40 (entget (car tar)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(princ “n 검색할 원의 반지름은 : n”)
(princ (rtos wwrad 2 ) )
(princ “n”)
(prompt “n 검색영역의 범위를 지정…”)
(setq ss (ssget))
(while ( = ss nil)
(setq ss (ssget))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq ssno 0
smember (ssname ss ssno)
CNT 0 )
(while smember
(setq smem (cdr (assoc 0 (entget smember))))
(if ( = smem “CIRCLE” )
(setq smemrad (cdr (assoc 40 (entget smember))))
)
(if (and (= “CIRCLE” SMEM ) (and ( > smemrad ( – wwrad 0.01 ) ) ( < smemrad ( + wwrad 0.01 ) ) ) )
(setq cnt ( + cnt 1 ) )
)
(setq ssno (1+ ssno))
(setq smember (ssname ss ssno))
) ;END OF WHILE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(PRINC “지름이 “)
(princ (rtos wwrad 2 ) )
(PRINC ” 인 원의 개수는 : “)
(princ ” n ” )
(princ cnt)
(princ ” EA 임 n”)
(alert (itoa cnt ) )
(princ)
);;;;;;;;;;;;;;;;;;;;;;;;;;; DEFUN END