samifox 发表于 2022-7-5 23:17:37

检索非图形的数量

你好
 
如何检索非图形实体的数量?比如说layres
 
(仅限AUTOLISP)
谢谢
谢伊

hmsilva 发表于 2022-7-5 23:28:55


(while (setq a (tblnext "LAYER" (null a)))
(setq lst (cons (cdr (assoc 2 a)) lst))
)
(length lst)

HTH公司
亨里克

samifox 发表于 2022-7-5 23:45:36

 
谢谢Henrique
 
虽然我可以调用deguging(tblnext),但它的索引计数不会从表中的第一个条目开始
 
我通过创建条件来解决它,这是确保(tblnext)从0开始的唯一方法吗?
 
(defun C:1 ()
(setq i (tblnext "Layer" T))
(while (setq i (tblnext "LAYER"))
   (princ)
)
)

samifox 发表于 2022-7-5 23:50:53

 
抱歉Henrique
 
你的代码正是我要的
一开始我不明白

hmsilva 发表于 2022-7-6 00:02:20

不客气samifox
很高兴你找到了解决方案。
 
亨里克

samifox 发表于 2022-7-6 00:16:09

你好
 
我需要函数在找到匹配项时返回T,否则返回nil。
 
通过调试,我发现即使找到匹配项,函数也会一直循环,直到层堆栈结束
 
有没有办法告诉你“当你找到一个梅奇,只要返回T然后退出?
 

(defun SG:isLayerExist (/ layer)
(while (setq layer (tblnext "LAYER" (null layer)))
   (equal (cdr (assoc 2 layer)) "0")
)
)

 
谢谢
S

Lee Mac 发表于 2022-7-6 00:23:41

(defun layer-exists-p ( lay )
   (and (tblsearch "layer" lay))
)
页: [1]
查看完整版本: 检索非图形的数量