I know I'm waaay behind on all this and I apologize, but I've been using this code for some time now. It will freeze layers within xrefs removing the need to bind....saves dwg size..... Have a look.
(defun c:vplfrz ()
(setvar "TileMode" 0) ; Force PaperSpace
(setq vpFlag (getvar "cvport"))
(if (= vpFlag 1)
(progn
(setq sel-vpt 1)
(setq sel-vport (car (entsel "\nSelect view port: ")))
(if (= sel-vport nil)
(progn
(alert "You must select a viewport\nTry again!")
(c:vplfrz)
)
(progn
(setq entvport (entget sel-vport))
(if (= (cdr (assoc 0 entvport)) "VIEWPORT")
(frz-vplayer)
(progn
(alert "You must select a viewport\nTry again!")
(c:vplfrz)
)
)
)
)
); else Viewport is already selected
(frz-vplayer)
) ;endif (= vpFlag 1)
)
(defun frz-vplayer ()
(setq e2 (entget sel-vport)
viewport (cdr (assoc 69 e2))
)
(command "mspace")
(setvar "cvport" viewport)
(setq loop "")
(while loop
(setq
pik (nentsel "\nSelect an item on XREF to Freeze: ESC to Exit:")
)
(cond
((/= pik nil)
(setq lay (assoc 8 (entget (car pik))))
(setq str (cdr lay))
(command "vplayer" "f" str "All" "") ; Freeze in ALL viewports
)
((= pik nil)
(alert "Nothing Selected!\nTry Again!")
(frz-vplayer)
)
)
) ; End while
(command "pspace")
(princ)
)
(prompt "\nType VPLFRZ to run")
(prin1)
I wish I could give credit to the author, but I don't remember where I got it....didn't write it down....my bad.
This just in! CAB found my reference to this routine from waaaay back.
From the "gurus" at the CADalog forums, Keith, Trev, Hendie & Paul
;Thanks for this routine...3/7/03
....and thanks Alan! Going to add this to the routine now..................