도면의 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)
)
극좌표를 이용해 수정했으니 참조하세요
호곡 느겠 봐내영~~~감사합니당~~~복받으세요~~^^