도면의 Border-A라는 블록의 BASE POINT값을 참조하여 p1부터 p2부분까지 삭제하는 리습입니다..
근데 회전된 도면에서는 저가 회전값을 적용을 할 줄몰라서 삭제가 안되용~~
누가 이 리습좀 완성줌 해주세용~~^^
부탁드려용 고수님들~~
공유
비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.
해당 질문을 신고하는 이유를 간단히 입력해주세요.
해당 답변을 신고하는 이유를 간단히 입력해주세요.
해당 유저를 신고하는 이유를 간단히 입력해주세요.
호곡 느겠 봐내영~~~감사합니당~~~복받으세요~~^^
도면을 올리거나 요청하실때 단순화 시켜서 올리세요
님이 PLANE으로 좌표를 변경시켜서 한참을 헤맸어요
(defun c:B1()
(GRAPHSCR)
(setq ata (getvar “attdia”))
(setq cdo (getvar “cmdecho”))
(setvar “attdia” 0)
(setvar “cmdecho” 0)
(command “ZOOM” “E”)
(command “LAYER” “S” “BORD” “”)
(setq ss (ssget “x” ‘((0 . “insert”) (2 . “Border-A”))))
(setq sst (ssname ss 0))
(setq ss1 (entget sst))
(setq sp (cdr (assoc 10 ss1))) ; INTSERT POINT
(setq sc (cdr (assoc 41 ss1))) ;SCALE FACTOR
(setq ang1 (cdr (assoc 50 ss1))) ;block rotated radian angle
(setq po1 ‘( -180.0 -688.8 0)) ; 1:1 축척일 때 삭제점의 블럭원점기준 좌표
(setq po2 ‘( 0 -660.0 0)) ;
(setq r1 (* (distance ‘(0 0 0) po1) sc)) ; 1점극좌표의 반경
(setq ao1 (+ (angle ‘(0 0 0) po1) ang1)) ; 각도
(setq r2 (* (distance ‘(0 0 0) po2) sc)) ; 2점 극좌표의 반경
(setq ao2 (+ (angle ‘(0 0 0) po2) ang1)) ; 각도
(setq p1 (polar sp ao1 r1) p2 (polar sp ao2 r2))
(COMMAND “ERASE” “w” p1 p2 “”)
(COMMAND “line” p1 p2 “”)
(PRINC)
)
극좌표를 이용해 수정했으니 참조하세요