(Defun PTE:layer-subst-load ( / layer )
; ===============================================
; Change property For User
; ===============================================
; cmd name color linetype
; ===============================================
(setq layer ‘(( “1” “1_centerline” 1 “1_CENTER2” )
( “2” “3_hiddenline” 2 “3_hidden” )
( “3” “4_imaginary” 3 “4_imaginary” )
( “4” “5_hatching” 4 “5_hatching” )
( “5” “6_purchases” 5 “6_purchases” )
( “0” “0” 6 “0” )))
; ===============================================
;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;;
;; Sub Function – 01 ;;
;;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;;
(defun PTE:layer-subst-load-subfunction( name color ltype / ssets *error* )
;; __Sub 01
(defun *error*(s)
(if (not(vl-catch-all-error-p (vl-catch-all-apply ‘vla-item (list ssets “SS1”))))
(vla-delete (vla-item ssets “SS1”))
)
)
;; __Sub 02
(defun PTE:layer( la col lty / layer )
(while (not(tblsearch “layer” la))
(setq Layer
(vla-add
(vla-get-Layers
(vla-get-activedocument(vlax-get-acad-object))
) la
)
)
(vla-put-Color Layer col)
(vla-put-Linetype Layer lty)
)
)
;; __Sub 03
(defun LM:LoadLinetypes ( lts / acapp acdoc aclts aclin ) (vl-load-com)
(setq acdoc (vla-get-ActiveDocument (setq acapp (vlax-get-acad-object)))
aclts (vla-get-Linetypes acdoc)
)
(setq aclin
(apply ‘append
(mapcar ‘(lambda ( directory ) (vl-directory-files directory “*.lin” 1))
(LM:str->lst
(vla-get-SupportPath (vla-get-Files (vla-get-Preferences acapp))) “;”
)
)
)
)
(apply ‘and
(mapcar
(function
(lambda ( lt )
(or (tblsearch “LTYPE” lt)
(vl-some
(function
(lambda ( lin )
(vl-catch-all-apply ‘vla-load (list aclts lt lin))
(tblsearch “LTYPE” lt)
)
)
aclin
)
)
)
)
lts
)
)
)
;; __Sub 04
(defun LM:str->lst ( str del / pos )
(if (setq pos (vl-string-search del str))
(vl-remove “”
(cons
(substr str 1 pos)
(LM:str->lst (substr str (+ pos 1 (strlen del))) del)
)
)
(list str)
)
)
;; __Main
(or (tblsearch “ltype” ltype)(LM:LoadLinetypes (list ltype)))
(PTE:layer name color ltype)
(setq ssets (vla-get-selectionsets (vla-get-activedocument(vlax-get-acad-object))))
(if (not(vl-catch-all-error-p (vl-catch-all-apply ‘vla-item (list ssets “SS1”))))
(vla-delete (vla-item ssets “SS1”))
)
(vla-selectonscreen (setq ss (vla-add ssets “SS1”)))
(vlax-for ent ss
(vla-put-layer ent name)
(vla-put-linetype ent “ByLayer”)
(vla-put-color ent 256)
)
(vla-delete (vla-item ssets “SS1”))
(princ)
)
;;==========================================;;
;; Main Function ;;
;;==========================================;;
(foreach lst layer
(eval
(list ‘defun (read(strcat “c:” (car lst))) ‘nil
(list ‘PTE:layer-subst-load-subfunction (cadr lst) (caddr lst) (cadddr lst) )
)
)
)(princ)
)(vl-load-com)
(PTE:layer-subst-load)
여러군데를 돌아다니다 여기서 발견했습니다. 근데 색상은 바뀌는데 라인 종류가 안 바뀌어요~~ㅜㅜ
아무리 찾아보고 하려고 해도 안되서 글 남깁니다. 도와주세요…
도와주시는김에 해치도 가능하게 해주시면 감사하겠습니다. 5번 누르면 파란색 사선 해치가 될수 있게 해주시면 무지하게 감사하겠습니다.
더운데 고생하시지만 조금만 도와주세요…ㅜㅜ