첨부하는 리습을 어디선가 받아서 쓰는데…
이 리습을 쓰면…
osnap중에 mid, nod 가 없어지더라구요…
프로그램을 몰라서 멀 손봐야 할지도 모르겠고…
그래서 부탁 좀 드립니다…
어디를 바꿔줘야 하는건지요…
코멘트 좀 달아주세요…
혹시나해서 파일도 첨부합니다…
(defun dtr (a)(* pi (/ a 180.0)))
(defun rtd (a)
(/ (* a 180.0) pi)
)
(defun c:WW()
(setvar “osmode” 0)
(setvar “cmdecho” 1)
(setq off100(getDIST “nSelect line of Distance
(setq off1(* off100 0.5))
(SETQ a1(SSGET))
(SETQ NUM(SSLENGTH a1))
(SETQ INDEX 0)
(REPEAT NUM(SETQ b1(entget(ssname a1 index)))
(setq kkke(cdr(assoc 0 b1)))
(IF(= “LINE” kkke)
(progn
(setvar “osmode” 0)
(setq c1(assoc 10 b1))
(setq c2(assoc 11 b1))
(setq d1(cdr c1))
(setq d2(cdr c2))
(setq ang(angle d1 d2))
(setq p1(polar d1(+ ang(dtr 90)) off1))
(setq p2(polar d1(- ang(dtr 90)) off1))
(setq p3(polar d2(+ ang(dtr 90)) off1))
(setq p4(polar d2(- ang(dtr 90)) off1))
(command “line” p1 p3 “”)
(command “line” p2 p4 “”)
(setq index(+ index 1))
(command “osmode” 161)
(SETQ KIS OFF100)))
(if
(= “ARC” kkke)
(progn
(setvar “osmode” 0)
(setq cc1(assoc 10 b1))
(setq rr1(assoc 40 b1))
(setq c1(assoc 50 b1))
(setq c2(assoc 51 b1))
(setq dd1(cdr cc1))
(setq r1(cdr rr1))
(setq d1(cdr c1))
(setq ang1(rtd d1))
(setq d2(cdr c2))
(setq ang2(rtd d2))
(setq ptt1(+ r1 off1))
(setq ptt2(- r1 off1))
(setq kkkk1(strcat “@”(rtos ptt1) “<"(rtos ang1)))
(setq kkkk2(strcat “@”(rtos ptt1) “<"(rtos ang2)))
(setq kkkk3(strcat “@”(rtos ptt2) “<"(rtos ang1)))
(setq kkkk4(strcat “@”(rtos ptt2) “<"(rtos ang2)))
(command “arc” “c” dd1 kkkk1 kkkk2)
(command “arc” “c” dd1 kkkk3 kkkk4)
(command “osnap” “int”)
(setq index(+ index 1))
(SETQ KIS OFF100)
(setvar “osmode” 161)))))
Lisp/VBA Q&A게시판이 별도로 있으니,그 게시판을 이용하세요.(setvar "osmode" 0)과 마지막줄의(setvar "osmode" 161)부분이 osnap설정과 관련되 부분입니다만..Lisp Q&A로.
네 ^^;; 다시 작성하구 왔음다…