magicboy555 发表于 2018-10-16 06:56:54

各位大神请问,是否可以写一个代码 一键锁定所有视口,谢谢

如题
各位大神请问,是否可以写一个代码 一键锁定所有视口,谢谢!:P

start4444 发表于 2018-10-16 18:35:47

;全锁
(defun c:tt4 ()
(command "MVIEW" "l" "on" "all" "")
)
;全解锁
(defun c:tt5 ()
(command "MVIEW" "l" "off" "all" "")
)

vlisp2012 发表于 2018-10-16 09:47:19

(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)
)

依然小小鸟 发表于 2018-10-16 12:26:02

(defun C:mvlo()

    (progn

      (command "mview" "l" "on")

    )

)

volutionshh 发表于 2018-10-19 18:54:29

没测试,看上去还是command简洁,这个好。

137407536 发表于 2018-10-20 10:00:08

感谢

哆啦A梦_oELxg 发表于 2022-3-21 22:58:29

收下了,说不定用的上。
页: [1]
查看完整版本: 各位大神请问,是否可以写一个代码 一键锁定所有视口,谢谢