找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1184|回复: 6

[求助] 一个程其中一句看不懂了

[复制链接]
发表于 2014-12-13 10:51:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. (defun c:sel (/ ss i layer lst)
  2.   (if (setq ss (ssget))
  3.     (progn
  4.       (repeat (setq i (sslength ss))
  5.         (if (not (member (setq layer (cdr (assoc 8 (entget (ssname ss (setq i (1- i))))))) lst))
  6.           (setq lst (cons "," (cons layer lst)))
  7.         )
  8.       )
  9.       (sssetfirst nil (ssget "_A" (list (cons 8 (apply 'strcat (cdr lst))))))
  10.     )
  11.   )
  12.   (princ)
  13. )
  14. ;这个程序是,先选择多个图层的对象,然后就能全部选到与前面选的对象相同的图层对象
  15. ;(member (setq layer (cdr (assoc 8 (entget (ssname ss (setq i (1- i))))))) lst)
  16. ;这一句看不懂了,member 起到什么作用了,要搜索表达式 lst还是空的啊?是有意弄成空吗?
  17. 求解答
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-12-13 11:15:10 来自手机 | 显示全部楼层
有了就过没有就加入,变量初始值为nil,空表

点评

谢谢哦,还不是很明白的,我写几个程序来试试,应该就更能理解了  详情 回复 发表于 2014-12-13 11:18
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-12-13 11:17:28 | 显示全部楼层
第一次的时候,表里没有,就加入,以后判断是否没有,没有就加入,然后处理,如何有了就不处理了。明白了吗?

点评

是不是这样, 第一次为空,not,返回T 执行后面的,就加入了第一个对象的图层表 然后还有while执行比较,只要不是与第一个相同的图层,就再入 我这样理解对吗?  详情 回复 发表于 2014-12-13 11:23
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-13 11:18:38 | 显示全部楼层
st788796 发表于 2014-12-13 11:15
有了就过没有就加入,变量初始值为nil,空表

谢谢哦,还不是很明白的,我写几个程序来试试,应该就更能理解了

点评

你需要明白一个,就是NIL也是个表,(cons item nil) =(item) 和累加、累乘一样,累加操作,初始值 0, 累乘操作,初始值是1, 字符串的累积连接,初始值是"", 对表的累积加入元素操作,表的初始值是NIL。  详情 回复 发表于 2014-12-13 11:24
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-13 11:23:39 | 显示全部楼层
newer 发表于 2014-12-13 11:17
第一次的时候,表里没有,就加入,以后判断是否没有,没有就加入,然后处理,如何有了就不处理了。明白了吗 ...

是不是这样,
第一次为空,not,返回T
执行后面的,就加入了第一个对象的图层表
然后还有while执行比较,只要不是与第一个相同的图层,就再入
我这样理解对吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-12-13 11:24:13 | 显示全部楼层
amwkto2011 发表于 2014-12-13 11:18
谢谢哦,还不是很明白的,我写几个程序来试试,应该就更能理解了

你需要明白一个,就是NIL也是个表,(cons item nil) =(item)

和累加、累乘一样,累加操作,初始值 0, 累乘操作,初始值是1, 字符串的累积连接,初始值是"",

对表的累积加入元素操作,表的初始值是NIL。

点评

原来是这样啊,现在明白了, 上次你帮我解答过,相加,相乘,还有字符串连接。 非常谢谢  详情 回复 发表于 2014-12-13 11:28
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-13 11:28:21 | 显示全部楼层
newer 发表于 2014-12-13 11:24
你需要明白一个,就是NIL也是个表,(cons item nil) =(item)

和累加、累乘一样,累加操作,初始值 0, ...

原来是这样啊,现在明白了,
上次你帮我解答过,相加,相乘,还有字符串连接。
非常谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-3-29 17:48 , Processed in 0.423974 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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