2006lt 사용자입니다
레이어 필터 리습을 사용하려고 하는데
잘되질 않습니다.
어디가 잘못되었는지 잘모를겠습니다.
저는 2006LT 사용자입니다
리습 로딩하는 써드파티 프로그램으로 기존 리습을
사용합니다.
레이어 필터 리습을 사용해야 하는데 어떻게 해야할지
고수님들의 도와주세요.
제가 만들줄은 모르고 (구한 리습을 올립니다)
;;; Delete layer filters *
;;; September 2001, Stig Madsen *
;;; *
;;; Deleting named layer filters is achieved by deleting *
;;; the single XRecords in dictionary “ACAD_LAYERFILTERS” *
;;; If a layer filter is currently in effect the filter is *
;;; deleted but is visible in the Layer Dialog until one of *
;;; the 3 built-in filters is chosen. *
;;; The built-in filters cannot be deleted. *
(vl-load-com)
(defun C:LFD (/ cmd activeDoc xDictLayers
flag xtype xvalue layfilters
count tmp tmpName ask
)
(setq activeDoc (vla-get-ActiveDocument (vlax-get-acad-object))
xDictLayers (vla-getExtensionDictionary (vla-get-Layers activeDoc))
cmd (getvar “CMDECHO”)
)
(setq flag nil)
(setvar “CMDECHO” 0)
(if (/= (vla-get-count xDictLayers) 0)
(progn (setq layfilters (vla-item xDictLayers “ACAD_LAYERFILTERS”))
(setq count (vlax-get-property layfilters ‘Count))
)
(setq count 0)
)
(command “UNDO” “Begin”)
(if (= count 0)
(princ “nDrawing contains no named layer filters”)
(progn
(prompt (strcat “n” (itoa count) ” layer filters found”))
(initget “Keep Continue”)
(setq ask (getkword “nKeep filters by name? Keep/
(cond ((= ask “Keep”)
(setq pattern (getstring “Name pattern or <*>: “))
(if (= pattern “”)
(setq pattern “*”)
)
)
(T (setq pattern “Nothing is impossible!”))
)
(repeat count
(setq tmp (vla-item layfilters (- count 1)))
(setq tmpName (vlax-get-property tmp ‘Name))
(if (not (wcmatch tmpname pattern))
(if (not flag)
(progn
(initget “Yes No All”)
(setq ask (getkword
(strcat “nDelete layer filter “
tmpName
“? Yes/
)
)
)
(cond ((= ask “Yes”)
(vla-delete tmp)
(princ (strcat “nFilter ” tmpName ” deleted”))
)
((= ask “All”)
(vla-delete tmp)
(princ (strcat “nFilter ” tmpName ” deleted”))
(setq flag T)
)
)
)
(progn (vla-delete tmp)
(princ (strcat “nFilter ” tmpName ” deleted”))
)
))
(setq count (1- count))
)
)
)
(command “UNDO” “End”)
(setvar “CMDECHO” cmd)
(princ)
)