(defun c:cse ()
(setq t1 (getint “지름을 입력하세요: “))
(setq t1 (/ t1 2))
(ssget (list (cons 0 “circle”) (cons 40 t1))))
(princ)
)
안녕하세요. 선택한 원과 같은 지름을 가진 원들을 선택하는 리습을 만들면서 공부하고있습니다.
선택한 원의 지름을 얻는 함수? 를 몰라서 우선 지름을 직접 입력하는 방식으로 표현하였습니다.
위와같이 지름을 입력 후 전체창을 드래그를 하면 우선적으로 그 지름을 가진 원이 선택이 되긴합니다. 그런데 그 뒤에 move라던가 copy 또는 색상변경을 하려고하면 명령어 콘솔부분에는 여전히 객체 선택: 이라고 떠있습니다.
여기서 엔터를 다시 입력하게되면 여태껏 선택해둔 원의 선택이 풀리게 되빈다. 해당부분 사진으로 업로드하였습니다.
질문을 정리하자면
1. 특정 지름값을 가지는 원을 선택후 다른명령어를 입력할 수 있는방법.
2. 특정한 객체를 선택해서 지름값을 r 이라는 변수에 입력하는 방법
(defun c:ff(/ t1 ss)
(setq t1 (car(entsel "nSelect Entity:")))
(setq en(entget t1))
(if(= "CIRCLE" (cdr(assoc 0 en)))
(setq ss (ssget (list (cons 0 "circle") (cons 40 (cdr(assoc 40 en))))))
(princ "nInvalide Select~!")
)
(sssetfirst nil ss)
(princ)
)
도움주셔서 감사합니다
보내주신 코드 하나하나 살펴가며 공부해보겠습니다!!!
(defun c:cse (/ t1 ss)
(setq t1 (getint “지름을 입력하세요: “))
(setq t1 (/ t1 2))
(setq ss (ssget (list (cons 0 “circle”) (cons 40 t1))))
(sssetfirst nil ss)
(princ)
)