배열된 원안에 선만 삭제 하는 방법 가능할까요?
컨텐츠 정보
- 29 조회
- 2 댓글
- 0 추천
- 0 비추천
- 목록
본문
그림과 같은 2d 선에 수작업으로 원안에 선을 하나하나 Trim 시키고 있는데요.
원안에 선만 한번에 삭제하는 그런방법이 있을까요?
현재는 Trim 명령어 치고 전체 선택하고 원안 선을 하나 하나 톡톡 클릭해서 지우고 있습니다.
제가 원하는건 한번에 원안에 선만 싹다 날리고 싶습니다.
고수님들 도와주세요~
관련자료
주왕님의 댓글
(defun c:ct (/ *error* _mrSta _mrEnd gvL gv _mrCirclePoint ss o nO cPtList)
(defun *error* (msg)(_mrEnd)
(if (not (wcmatch (strcase msg) “*BREAK,*CANCEL*,*EXIT*”))
(princ (strcat “n** Error: ” msg ” **”)))(princ)
)
(defun _mrSta ()
(and (= 8 (logand 8 (getvar ‘UNDOCTL)))(vla-endundomark acDoc))
(vla-startundomark acDoc)
(setq gv (mapcar ‘getvar (setq gvL ‘(“OSMODE” “CMDECHO”))))
(mapcar ‘setvar gvL ‘(0 0))
)
(defun _mrEnd ()(and gvL gv (mapcar ‘setvar gvL gv))(vla-endundomark acDoc))
(defun _mrCirclePoint (obj / d ep td p)
(setq d (/ (setq ep (vlax-curve-getEndParam obj)) 144) td 0)
(while (> ep td)
(setq p (cons (vlax-curve-getPointAtParam obj td) p))
(setq td (+ td d))
) p
)
(vl-load-com)
(setq acObj (vlax-get-acad-object))
(setq acDoc (vla-get-activedocument acObj))
(_mrSta)
(and
(setq ss (ssget ‘((0 . “circle”))))
(foreach e (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss)))
(setq o (vlax-ename->vla-object e))
(setq nO (car (vlax-invoke o ‘offset (* (vla-get-radius o) -0.0001))))
(vla-getboundingbox nO ‘mi ‘mx)
(vla-ZoomWindow acObj mi mx)
(setq cPtList (_mrCirclePoint nO))
(vla-delete nO)
(command “_trim” e “” “f”)(foreach p cPtList (command p))(command “” “”)
(vla-ZoomPrevious acObj)
)
)(_mrEnd)(princ)
)(princ “[명령어 : CT ]”)(princ) ;;;;;;;;;아키모아 달수님작