(defun c:BBB()
(vl-load-com)
(setq ss (ssget (list (cons 0 “LINE,ARC”))))
(setq count 0)
(setq count_1 0)
(setq chak_st 0)
(setq chak_ed 0)
(setq get_st nil)
(setq get_ed nil)
(repeat (sslength ss)
(foreach en (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss count)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(princ “n종류:”)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(princ (cdr (assoc 0 (entget en))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(princ “n시작점:”)
(setq get_st (append get_st (list(vlax-curve-getstartpoint en))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(princ (vlax-curve-getstartpoint en))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(princ “n끝점:”)
(setq get_ed (append get_ed (list(vlax-curve-getendpoint en))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(princ (vlax-curve-getendpoint en))
)
(setq count (1+ count))
)
(setq count 0)
(repeat (sslength ss)
(setq count_1 0)
(setq chak_st 0)
(setq chak_ed 0)
(progn
(repeat (sslength ss)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(if (and (or(= chak_st 0) (= chak_ed 0)) (/= count count_1))
(progn
(princ “비교”)
(princ count)
(princ count_1)
(princ ” “)
;(princ (rtos (car(Nth count get_st)) 2 2))
;(princ “=”)
;(princ (rtos(car(Nth count_1 get_st)) 2 2))
;(princ ” “)
;(princ (rtos(cadr(Nth count get_st)) 2 2))
;(princ “=”)
;(princ (rtos(cadr(Nth count_1 get_st)) 2 2))
;(princ ” / “)
;(princ (rtos (car(Nth count get_st)) 2 2))
;(princ “=”)
;(princ (rtos (car(Nth count_1 get_ed)) 2 2))
;(princ ” “)
;(princ (rtos (cadr(Nth count get_st)) 2 2))
;(princ “=”)
;(princ (rtos (cadr(Nth count_1 get_ed)) 2 2))
(if(OR(AND(= (rtos (car(Nth count get_st))2 2) (rtos (car(Nth count_1 get_st))2 2))
(= (rtos (cadr(Nth count get_st))2 2) (rtos (cadr(Nth count_1 get_st))2 2)))
(AND(= (rtos (car(Nth count get_st))2 2) (rtos (car(Nth count_1 get_ed))2 2))
(= (rtos (cadr(Nth count get_st))2 2) (rtos (cadr(Nth count_1 get_ed))2 2))))
(progn
(princ “시작같다 “)
(setq chak_st 1)
)
(progn
(princ “시작다르다 “)
)
)
(if(OR(AND(= (rtos (car(Nth count get_ed))2 2) (rtos (car(Nth count_1 get_ed))2 2))
(= (rtos (cadr(Nth count get_ed))2 2) (rtos (cadr(Nth count_1 get_ed))2 2)))
(AND(= (rtos (car(Nth count get_ed))2 2) (rtos (car(Nth count_1 get_st))2 2))
(= (rtos (cadr(Nth count get_ed))2 2) (rtos (cadr(Nth count_1 get_st))2 2))))
(progn
(princ “끝같다 “)
(setq chak_ed 1)
)
(progn
(princ “끝다르다 “)
)
)
(princ “n”)
)
)
(setq count_1 (1+ count_1))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
)
)
(if(and (= chak_ed 1)(= chak_st 1))
(progn
;(princ count)(princ “번 ok”)(princ “n”)(princ “n”)
)
(progn
;(princ count)(princ “번 no”)(princ “n”)(princ (Nth count get_st))(princ “n”)
(if(= chak_st 0)
(entmakex (list (cons 0 “CIRCLE”) (cons 62 1) (cons 10 (Nth count get_st)) (cons 40 25)))
(entmakex (list (cons 0 “CIRCLE”) (cons 62 1) (cons 10 (Nth count get_ed)) (cons 40 25)))
)
;;;(princ (entget (ssname ss count)))
(setq a (entget (ssname ss count)))
(setq b (subst (cons 62 2)(assoc 62 a) a))
(entmod b)
)
)
(setq count (1+ count))
)
(princ “n”)
(princ)
)
——————————————————————————————————-
일전에 많은 도움 감사합니다. 도움 주신많큼 코드가 많이 늘었습니다.
(setq a (entget (ssname ss count)))
(setq b (subst (cons 62 2)(assoc 62 a) a))
(entmod b)
부분으로 선이나 호의 색상을 노란색으로 바꾸었는데요
애시당초 62번 값이 없는 선이나 호는 어찌해야 될까요? ㅜ.ㅜ;;
다음으로 선이 속한 레이어 의 색상은 어찌 바꾸나요?