各位大神请问,是否可以写一个代码 一键锁定所有视口,谢谢
如题各位大神请问,是否可以写一个代码 一键锁定所有视口,谢谢!:P
;全锁
(defun c:tt4 ()
(command "MVIEW" "l" "on" "all" "")
)
;全解锁
(defun c:tt5 ()
(command "MVIEW" "l" "off" "all" "")
)
(defun C:vpl (/ kw);;; Viewports lock-----VPL or unlock -----VPU
(setq kw "LOCK")
(vplocks kw)
(Princ " the viewports have been locked")
(princ)
)
(defun C:vpu (/ kw)
(setq kw "UNLOCK")
(vplocks kw)
(Princ " the viewports have been unlocked")
(princ)
)
(defun vpLocks (kw / kval doc adoc lao cnt inc cvprt blk pw)
(vl-load-com)
(if (= kw "LOCK")
(setq kval :vlax-true)
(if (= kw "UNLOCK")
(setq kval :vlax-false)
)
)
(setq doc(vlax-get-object "AutoCad.Application")
adoc (vla-get-ActiveDocument doc)
lao(vla-get-Layouts adoc)
cnt(vla-get-Count lao)
inc0
)
(repeat cnt
(setq cvprt (vla-Item lao inc)
inc (+ inc 1)
blk (vla-get-Block cvprt)
)
(vlax-for itm blk
(if
(vlax-property-available-p itm 'DisplayLocked)
(progn
(vla-put-DisplayLocked itm kval)
(vla-update itm)
)
)
)
)
(princ)
)
(defun C:mvlo()
(progn
(command "mview" "l" "on")
)
)
没测试,看上去还是command简洁,这个好。 感谢 收下了,说不定用的上。
页:
[1]