(defun c:ToggleForMark (/ ActDoc tempLay LayList LayCol LayObj)
(setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object)))
(vlax-for blk (vla-get-Blocks ActDoc)
(if (= (vla-get-IsXref blk) :vlax-true)
(foreach lst (entget (vlax-vla-object->ename blk))
(if (equal (car lst) 331)
(if
(not
(vl-position
(setq tempLay (cdr (assoc 8 (entget (cdr lst)))))
LayList
)
)
(setq LayList (cons tempLay LayList))
)
)
)
)
)
(setq LayCol (vla-get-Layers ActDoc))
(foreach name LayList
(setq LayObj (vla-Item LayCol name))
(if (equal (vla-get-Freeze LayObj) :vlax-true)
(vla-put-Freeze LayObj :vlax-false)
(vla-put-Freeze LayObj :vlax-true)
)
)
(princ)
)