Jadeous 发表于 2022-7-6 14:54:48

需要口齿不清。。。

早上好,晚上好,晚上好。取决于你生活在世界的哪个地方。我需要帮助找到一个lisp,将设置我的所有副总裁隐藏和锁定他们太。我不确定这是否可以只用一个lisp完成,或者是否需要两个lisp。请提前告诉我,谢谢。

Lee Mac 发表于 2022-7-6 15:03:03

我猜你是说隐藏线型?并锁定视口比例?
 
对不起,如果我错过了什么,像往常一样半睡半醒
 

Jadeous 发表于 2022-7-6 15:09:01

这正是我需要的。

Jadeous 发表于 2022-7-6 15:18:48

我想一次做几个副总裁。

Lee Mac 发表于 2022-7-6 15:20:42

看看我能做什么

Lee Mac 发表于 2022-7-6 15:29:19

这是一个反应器,保存后将锁定所有视口-您无法更改视口图元的线型,它似乎。。。
 

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

 
记住:反应堆要“加载”,但不是“运行”。-它自己运行。

Jadeous 发表于 2022-7-6 15:34:05

很酷。谢谢隐藏部分是指使VP中的对象打印隐藏的命令。如果单击VP,然后右键单击它,则可以选择定义VP中的对象的打印方式。它位于阴影打印菜单下。

Lee Mac 发表于 2022-7-6 15:42:42

看看我能做什么-我想我也能把它装进反应堆

Lee Mac 发表于 2022-7-6 15:46:49

好的,我已经重新编写了整个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))

 
还允许任何锁定层。

Jadeous 发表于 2022-7-6 15:52:26

你我的朋友是一个AutoCad的上帝!!!非常感谢你再次帮我摆脱困境。
页: [1] 2
查看完整版本: 需要Lisp程序。。。