(defun c:YY()
(setq olderr *ERROR*)
(setq os_m (getvar “osmode”))
(setvar “osmode” 37)
(setvar “cmdecho” 0)
(if (tblsearch “layer” “!JK01”)
(command “_layer” “S” “!JK01” “color” “1” “” “”)
(command “_layer” “make” “!JK01” “lt” “continuous” “” “color” “1” “” “”)
);endif
(if (tblsearch “layer” “!JK13_GIRDER”)
(command “_layer” “S” “!JK13_GIRDER” “color” “3” “” “”)
(command “_layer” “make” “!JK13_GIRDER” “lt” “HIDDEN” “” “color” “3” “” “”)
);endif
(command “-layer” “s” “!JK13_GIRDER” “”)
(if (= OFF100 nil) (setq OFF100 0))
(SETQ OFF_100 OFF100)
(SETQ OOABC “”)
(PRINC “N 양쪽 간격의 총 크기 [반지름 (R)] “)
(PRINC “< “) (PRINC OFF_100) (PRINC” > :”)
(setq OOABC (strcase (getstring)))
(setq OFF100 (ATOf OOABC))
(IF (OR (= OOABC “R” ) (= OOABC “r”))
(PROGN
(SETQ OO222 (/ OFF_100 2))
(setq OFF100 (getreal (strcat “n양쪽 간격의 반 지름 <” (rtos OO222) “>:”)))
(SETQ OFF_100 (* OO222 2))
(SETQ OFF100 (* OFF100 2))
)
)
(IF (OR (= OFF100 NIL) (= OFF100 0))
(SETQ OFF100 OFF_100)
)
(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 (* 0.5 pi)) off1))
(setq p2(polar d1(- ang (* 0.5 pi)) off1))
(setq p3(polar d2(+ ang (* 0.5 pi)) off1))
(setq p4(polar d2(- ang (* 0.5 pi)) off1))
(command “line” p1 p3 “”)
(command “line” p2 p4 “”)
(setq index(+ index 1))
(command “osmode” 191)
(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)
(COMMAND “osmode” os_m)
)
)
)
(setq OOABC “”)
(command “chprop” ent “” “c” “bylayer” “lt” “bylayer” “la” “!JK01” “”)
(command “_layer” “S” “!JK01” “color” “1” “” “”)
(princ)
)
양방향 옵셋 다른분이 만든거를 짜집어서 바꿀려고 하는건데
처음잡은 선은 빨간선으로 바꾸고 양쪽으로 옵센되는선은 녹색으로 바꾸고자 만들었는데 잘안되네요 ㅠ
기본 양방향옵셋도 될때도있고 안될때도있고 옵센된게 도면저멀리 날라가있거나 하는경우도있는데
그건 도무지뭔지몰라서 … 수정을못하겠습니다. 수정된거 있으시거나 이렇게 접근해보신적있으신분!
고캐드에서 추천해준 책사서 보고있는데
제가 짜집은거에 비해서 너무간단하게 되있어서 코딩이란 세계가 세상 놀랍네요.
제가 리습 관련 책만 5권정도 있는데 초보때 여러가지 책은 의미 없습니다 그냥 아무책이나 한권으로