请大家看看这两个程序什么地方有问题,每次使用时必须重复选择。请多多赐教!
请大家看看这两个程序什么地方有问题,每次使用时必须重复选择。请多多赐教!;;;;;;;琐层
(defun c:xs()
(setvar "cmdecho" 0)
(while t
(prin1 "请选择要上琐层的实体")
(setq ss0 (ssget))
(setq ln (sslength ss0))
(setq n 0)
(repeat ln
(setq na (ssname ss0 n))
(setq ent (entget na))
(setq cen (assoc 8 ent))
(setq cenn (cdr cen))
(command "layer" "lock" cenn "")
(setq n (+ n 1))
);repeat
)
)
;;;;;;;解琐层
(defun c:js()
(setvar "cmdecho" 0)
(while t
(prin1 "请选择要解琐层的实体")
(setq ss0 (ssget))
(setq ln (sslength ss0))
(setq n 0)
(repeat ln
(setq na (ssname ss0 n))
(setq ent (entget na))
(setq cen (assoc 8 ent))
(setq cenn (cdr cen))
(command "layer" "unlock" cenn "")
(setq n (+ n 1))
);repeat
)
)
很正常呀!!
每次使用时必须重复选择<---不太明白意思
是否是要 锁定图层可选择 而解锁是不用选择 全部解锁???
本帖最后由 lohas1118 于 2011-10-26 09:32 编辑
lincctw_ccl 发表于 2011-10-26 09:19 http://bbs.mjtd.com/static/image/common/back.gif
很正常呀!!
每次使用时必须重复选择
不好意思,是我没说清楚。加载后使用命令,选择需锁的图层,选择对像后又重复的出现选择对像,没完没了。 例:
可能是ss0 没设成变量吧!!
(defun c:js(/ ss0)
while T,T永远是真了 byghbcx 发表于 2011-10-26 09:50 static/image/common/back.gif
while T,T永远是真了
请问该如何修改呢,万分感谢。
;;;;;;;琐层
(defun c:xs ()
(setvar "cmdecho" 0)
(if (and
(prin1 "请选择要上琐层的实体")
(setq ss0 (ssget))
) (progn
(setq n 0)
(repeat (sslength ss0)
(setq cenn (cdr (assoc 8 (entget (ssname ss0 n)))))
(command "layer" "lock" cenn "")
(setq n (1+ n))
);repeat
))
(princ)
)
;;;;;;;解琐层
(defun c:js ()
(setvar "cmdecho" 0)
(if (and
(prin1 "请选择要解琐层的实体")
(setq ss0 (ssget))
) (progn
(setq n 0)
(repeat (sslength ss0)
(setq cenn (cdr (assoc 8 (entget (ssname ss0 n)))))
(command "layer" "unlock" cenn "")
(setq n (1+ n))
);repeat
))
(princ)
)
(defun c:xs()
(setvar "cmdecho" 0)
(while (setq ss0 (ssget))
(princ "请选择要上琐层的实体<空选结束>:")
(setq ln (sslength ss0))
(setq n 0)
(repeat ln
(setq na (ssname ss0 n))
(setq ent (entget na))
(setq cen (assoc 8 ent))
(setq cenn (cdr cen))
(command "layer" "lock" cenn "")
(setq n (+ n 1))
);repeat
)
) ZZXXQQ 发表于 2011-10-26 12:21 static/image/common/back.gif
感谢版主大架光临为小生解决问题! byghbcx 发表于 2011-10-26 14:08 static/image/common/back.gif
(defun c:xs()
(setvar "cmdecho" 0)
(while (setq ss0 (ssget))
非常感谢大家指导,已OK。万分感谢!
页:
[1]
2