start4444 发表于 2009-5-29 22:16:00

怎么可以快捷操作图纸空间的窗口锁定和开锁啊···??

<p></p><p>请问通过lisp可以实现在图纸空间中窗口上锁和开锁的快捷操作吗???原操作是mv&nbsp;&nbsp;&nbsp; L&nbsp;&nbsp;&nbsp;&nbsp; off/on&nbsp;&nbsp; ,操作比较繁复。</p>

305341043 发表于 2018-1-15 13:51:55

感谢,学习了!

xshrimp 发表于 2009-5-30 08:37:00

<p>(Vlax-put (Vlax-Ename-&gt;Vla-Object (car (entsel))) 'DisplayLocked 1)</p><p>(Vlax-put (Vlax-Ename-&gt;Vla-Object (car (entsel))) 'DisplayLocked 0)</p>

jaminth 发表于 2009-5-30 08:41:00

简单的写一下
(defun c:ks();上锁
(command "._mview" "lock" "on" "all" "")
(prin1)
)
(defun c:js();开锁
(command "._mview" "lock" "off" "all" "")
(prin1)
)
(prin1)

start4444 发表于 2009-5-30 11:46:00

用楼上的程序可以实现上锁开锁,但是都是对全部窗口同时开关,能改为点选对象开关么····先谢谢了!!

jaminth 发表于 2009-5-30 16:20:00

(defun c:ks();上锁
(command "._mview" "lock" "on" pause "")
(prin1)
)
(defun c:js();开锁
(command "._mview" "lock" "off" pause"")
(prin1)
)
(prin1)

start4444 发表于 2009-5-30 18:50:00

可以了··太感谢了···

xshrimp 发表于 2009-5-30 21:36:00


(defun c:ks ( / ent); 上锁
(command "_.PSPACE")
(if (setq ent (car (entsel)))
    (progn      
      (vl-catch-all-apply 'vla-put-DisplayLocked (list (Vlax-Ename->Vla-Object ent) ':vlax-true))
      (princ "\n选定视口已上锁!")
    )
)
(prin1)
)

(defun c:js (/ ent); 开锁
(command "_.PSPACE")
(if (setq ent (car (entsel)))
    (progn                  
      (vl-catch-all-apply 'vla-put-DisplayLocked (list (Vlax-Ename->Vla-Object ent) ':vlax-false))
      (princ "\n选定视口已解锁!")
    )
)
(prin1)
)

colatree 发表于 2009-6-5 10:53:00

<p>真好用,謝啦</p><p>我收下了</p>

samshs 发表于 2009-6-5 14:29:00

<p>學習一下</p>

T_T 发表于 2012-1-14 21:37:56

学习了谢谢
页: [1] 2
查看完整版本: 怎么可以快捷操作图纸空间的窗口锁定和开锁啊···??