明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: hiper

再---请教如何用LISP的SSGET函数选中“非锁定层”的实体

  [复制链接]
发表于 2003-12-22 20:31:00 | 显示全部楼层
龙龙仔老大,你那个:l好用啊,厉害,不愧为斑竹老大。你是怎么知道这个的啊老大?
发表于 2003-12-23 17:40:00 | 显示全部楼层
MEFILYING的(tblnext "layer" (not layer))这句不错呵呵,偶没想到的~:)
 楼主| 发表于 2003-12-23 22:20:00 | 显示全部楼层
两位版主都很厉害,非常谢谢,我给每位都送了一朵鲜花,特别谢谢 Meflying!
 楼主| 发表于 2003-12-23 23:11:00 | 显示全部楼层
(while (setq unlayer (tblnext "layer" (not layer)))....
我试了,这一句陷入死循环,应该是(tblnext "layer" (not layer))中(not layer)老是为T,怎么回事?luoyaya知道吗,我也给你送朵鲜花
我打算用个笨办法,不用(not layer)在while前面多加一句,
 楼主| 发表于 2003-12-23 23:14:00 | 显示全部楼层
我的笨办法可行:
(defun getunlockLayer ( / unlayer lay_list)
(setq unlayer (tblnext "layer" ))
(setq lay_list (list (cons 8 (cdr (assoc 2 unlayer)))))
  (while (setq unlayer (tblnext "layer" ))
    (if (= (cdr (assoc 70 unlayer)) 0)
      (setq lay_list (append lay_list (list (cons 8 (cdr (assoc 2 unlayer))))))
    )
  )
  (append (cons (cons -4  "<OR") lay_list) (list (cons -4  "OR>")))
)
 楼主| 发表于 2003-12-23 23:18:00 | 显示全部楼层
while前面那句应该是:(setq unlayer (tblnext "layer" T))
发表于 2003-12-24 08:06:00 | 显示全部楼层
hiper发表于2003-12-23 23:11:00(while (setq unlayer (tblnext &quot;layer&quot; (not layer)))....
我试了,这一句陷入死循环,应该是(tblnext &quot;layer&quot; (not layer))中(not layer)老是为T,怎么回事?luoyaya知



如果你用我那个简洁的程序就不应该改它,除非你看明白了。。。
你修改后产生了错误,如果用unlayer代替layer,就应该全部代替(包括(not layer)和(defun xxx( / layer...)...)这些地方。。。如果任何一个地方没有代替掉,都有可能产生错误。。。
 楼主| 发表于 2003-12-25 01:01:00 | 显示全部楼层
谢谢,我还以为(not layer)中的layer是tblnext取的layer内部函数表呢
不过你取的变量名和内部函数表一样的确容易使人混淆,我觉得还是应该有所区别
发表于 2003-12-25 08:13:00 | 显示全部楼层
layer并不是LISP的保留字符串,没有layer这样一个函数,怎么混淆?
发表于 2003-12-26 00:12:00 | 显示全部楼层
LUCAS简化

  1. (defun getLayer ( / lay lay_list a)
  2.   (while(setq lay(tblnext "layer" (not lay)))
  3.     (if (= (cdr(assoc 70 lay))0)
  4.       (setq a(strcat(if a a"")","(cdr(assoc 2 lay))))
  5.     )
  6.   )
  7.   (cons 8 a)
  8. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 10:45 , Processed in 0.158476 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表