可见/不可见变量
大家好。我需要两个子例程来生成存储在以下代码的变量“SS”中的可见和不可见对象:
(setq SS(ssget“_C”'(0 0)'(0 0)))
我希望实现如下:
(VIS“SS”)和(INVIS“SS”)
有人能帮我吗?
提前谢谢。 你也可以这样做。。。(将false更改为true以恢复可见性)
(setq i 0)
(repeat (sslength ss)
(setq obj (vlax-ename->vla-object (ssname ss i)))
(vlax-put-property obj 'Visible :vlax-false)
(setq i (1+ i))
)
不工作。。。
(vl-load-com)
(setq ss (ssget "_C" '(0 0) '(0 0)))
(if ss (command "_.erase" ss ""))
(setq f (open "c:\\LIST.txt" "r"))
(setq txt (read-line f))
(while (/= nil txt)
(command "-text" "J" "BL" "0,0" 1 0 txt)
(setq txt (read-line f))
)
(setq in 0)
(repeat (sslength ss)
(setq obj (vlax-ename->vla-object (ssname ss in)))
(vlax-put-property obj 'Visible :vlax-false)
(setq in (1+ in))
) 我不久前写了这些,它们可能会帮助你:
(defun c:AllVis ( / tmp )
;; Lee Mac~27.04.10
(if (setq tmp (ssget "_X"))
( (lambda ( i / e )
(while (setq e (ssname tmp (setq i (1+ i))))
(Update
(PutDXF 60 0 (entget e))
)
)
)
-1
)
)
(princ)
)
(defun c:Invis ( / tmp )
;; Lee Mac~27.04.10
(if (setq tmp (ssget "_:L"))
( (lambda ( i / e )
(while (setq e (ssname tmp (setq i (1+ i))))
(Update
(PutDXF 60 1 (entget e))
)
)
)
-1
)
)
(princ)
)
(defun PutDXF ( code value elist )
(entmod
(if (assoc code elist)
(subst (cons code value) (assoc code elist) elist)
(append elist (list (cons code value)))
)
)
)
(defun Update ( elist )
(entupd (cdr (assoc -1 elist)))
) 李,
ALLVIS在CAD2002中返回错误消息:
Command: allvis
; error: bad argument type: lentityp nil
Coommand
这有几个问题,但要确定几个:
RenderMan,谢谢你的解释。
所以我要改变我的问题:
如何使点0.0中的每个对象文本都不可见?
不客气。
看起来您正在删除旧的文本标签,并将其替换为新的,然后您希望使新标签不可见。。。我说得对吗?
对我来说一切似乎都很好——没有太多可能出错的地方。
没错,就是这样。
页:
[1]
2