changyiran 发表于 2012-4-12 09:53:52

怎么用lisp关闭图层

怎么用lisp关闭图层啊,请高手指点!

changyiran 发表于 2012-4-12 10:19:36

斑竹,我是不是图层对象获取错了,我想获取名为jmd的图层,我是这样写的(setq tc(tblsearch "layer""jmd"))之后又(command"layer""off"tc""),但是没反应

vormittag 发表于 2012-4-12 10:27:37

(setq tc (cdr (assoc 2 (tblsearch "layer""jmd"))))

changyiran 发表于 2012-4-12 13:04:47

vormittag 发表于 2012-4-12 10:27 static/image/common/back.gif


成功了,那我问一下,能不能遍历所有图层呢?

nzl1116 发表于 2012-4-12 16:40:50

(defun GetELayers ()
(defun func (/ Var)
    (if        (setq Var (tblnext "Layer"))
      (cons (cdr (assoc 2 Var)) (func))
    )
)
(cons (cdr (assoc 2 (tblnext "Layer" T))) (func))
)

changyiran 发表于 2012-4-12 17:04:26

nzl1116 发表于 2012-4-12 16:40 static/image/common/back.gif


非常感谢,可以了!

nzl1116 发表于 2012-4-13 07:59:44

nzl1116 发表于 2012-4-12 16:40 static/image/common/back.gif


我感觉一些简单的循环还是比递归快些,就如上这种。
页: [1]
查看完整版本: 怎么用lisp关闭图层