需要口齿不清。。。
早上好,晚上好,晚上好。取决于你生活在世界的哪个地方。我需要帮助找到一个lisp,将设置我的所有副总裁隐藏和锁定他们太。我不确定这是否可以只用一个lisp完成,或者是否需要两个lisp。请提前告诉我,谢谢。 我猜你是说隐藏线型?并锁定视口比例?对不起,如果我错过了什么,像往常一样半睡半醒
李 这正是我需要的。 我想一次做几个副总裁。 看看我能做什么 这是一个反应器,保存后将锁定所有视口-您无法更改视口图元的线型,它似乎。。。
(defun Make_Reactor ()
(vl-load-com)
(if (not vport:reactor)
(setq vport:reactor
(vlr-command-reactor nil '((:vlr-commandWillStart . vpPrompt)))))
(princ))
(Make_Reactor)
(defun vpPrompt (Reac args / ss i vp ent obj)
(if (and (= (car args) "QSAVE")
(setq ss (ssget "X" '((0 . "VIEWPORT"))))
(not (zerop (setq i (sslength ss)))))
(progn
(setq vp i)
(while (not (minusp (setq i (1- i))))
(setq ent (ssname ss i)
obj (vlax-ename->vla-object ent))
(if (not (vl-catch-all-error-p
(vl-catch-all-apply
'vla-put-DisplayLocked (list obj 1))))
(princ)))
(princ (strcat "\n" (rtos vp) " Viewport(s) Locked."))))
(princ))
记住:反应堆要“加载”,但不是“运行”。-它自己运行。 很酷。谢谢隐藏部分是指使VP中的对象打印隐藏的命令。如果单击VP,然后右键单击它,则可以选择定义VP中的对象的打印方式。它位于阴影打印菜单下。 看看我能做什么-我想我也能把它装进反应堆 好的,我已经重新编写了整个LISP,使其更有效-希望它仍然有效!
(defun make_reactor()
(vl-load-com)
(if (not vport:reactor)
(setq vport:reactor
(vlr-command-reactor nil '((:vlr-commandwillstart . vpprompt)))))
(princ))
(make_reactor)
(defun vpPrompt (Reac args / ss Lck nLck)
(if (and (= (car args) "QSAVE")
(setq ss (ssget "X" '((0 . "VIEWPORT")))))
(progn
(setq Lck 0 nLck 0)
(foreach vp (mapcar 'vlax-ename->vla-object
(mapcar 'cadr(ssnamex ss)))
(if (vl-catch-all-error-p
(vl-catch-all-apply
'vla-put-DisplayLocked (list vp :vlax-true)))
(setq nLck (1+ nLck))
(setq Lck(1+ Lck)))
(vla-put-shadeplot vp acShadePlotHidden))
(princ (strcat "\n" (itoa nLck) " Vieport(s) locked"
(if (/= 0 Lck)
(strcat ", " (itoa Lck) " were on locked layer! ") "."))))
(princ "\n<!> No Viewports Found <!>"))
(princ))
还允许任何锁定层。 你我的朋友是一个AutoCad的上帝!!!非常感谢你再次帮我摆脱困境。
页:
[1]
2