找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2209|回复: 23

[已解决] [已解决]:两选择集求交、炸开选择集、选择集中物体逐一操作

[复制链接]
发表于 2006-9-26 00:15:13 | 显示全部楼层 |阅读模式

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

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

×
请问lisp中,如何根据已知图元名(-1组码),选中物体?
我的做法如下:
(setq aaa (cdr (assoc -1 (entget (car (entsel))))))
随便选一物体返回 <图元名: 7ef870f8>
(setq ss (ssget "X" (list (cons -1 aaa))))
结果返回nil。
是因为aaa不算是列表?请问如何该解决?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2006-9-26 02:16:16 | 显示全部楼层
entsel 了实体还要 ssget 作什么?非要加入选择集的话

(setq e (car (entsel)))
(setq ss (ssadd))
(ssadd e ss)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-9-26 08:31:15 | 显示全部楼层
要找一个实体,不用它的群码
按2楼的程序就行了
(setq e (car (entsel)))
(redraw e 3)
(setq ss (ssadd))
(ssadd e ss)
(redraw e 4)
加上这句,就可以亮显了。你就能看的更清楚
最后一句是取消亮显。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-26 10:19:44 | 显示全部楼层
使用entsel纯粹为了方便找出过滤不了的原因,结果误导了大家,不好意思。
其实我最终目的是想求出两个选择集的交集。我当时想:图元名是唯一的,弄起来可以比较方便,结果行不通。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7234个

财富等级: 富甲天下

发表于 2006-9-26 10:39:47 | 显示全部楼层
(acet-ss-intersection SS1 SS2)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2006-9-26 10:42:09 | 显示全部楼层
(setq s1 (ssget))
(setq s2 (ssget))
(command ".select" s2 "" "r" s1 "")
(setq s (ssget "_P"))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-26 11:25:50 | 显示全部楼层
还有一个问题,当用lisp调用EXPLODE时,如果
(setq ss (ssget)
(command "EXPLODE" ss) 这时候,只能炸开最后一个物体。
如果我想把选择集中的物体逐一炸开该如何操作呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7234个

财富等级: 富甲天下

发表于 2006-9-26 11:37:56 | 显示全部楼层
info: http://discussion.autodesk.com/thread.jspa?messageID=1103560
           
           (setvar "qaflags" 1)
           (command ".explode" ss "")
           (setvar "qaflags" 0)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-9-26 12:42:23 | 显示全部楼层
qaflags 是什么,我在帮助中找不到。
如果炸不开的话,可以做个循环呀,每次取一个实体炸开
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7234个

财富等级: 富甲天下

发表于 2006-9-26 13:28:55 | 显示全部楼层
Undocumented  System Variables

check here : http://www.manusoft.com/cgi-bin/ ... in=Main.stm#SysVars
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-26 13:52:05 | 显示全部楼层
最初由 phoenixdjq 发布
[B]qaflags 是什么,我在帮助中找不到。
如果炸不开的话,可以做个循环呀,每次取一个实体炸开 [/B]

不好意思呀,刚学lisp不久,还不会做这种循环,我的想法是根据-1组码做循环,但是不行。用10组码做循环倒可以。
(repeat (sslength sa)
    (setq en         (ssname sa sa_n)
          endata (entget en)
          en_10         (cdr (assoc 10 endata))
    )
    (setq saa (ssget "X" (list (cons 10 en_10))))
    (command "explode" saa)
    (setq sa_n (1+ sa_n))
  )
可以帮我改一下吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-26 13:54:19 | 显示全部楼层
最初由 Underway 发布
[B]info: http://discussion.autodesk.com/thread.jspa?messageID=1103560
           
           (setvar "qaflags" 1)
           (command ".explode" ss "")
           (setvar "qaflags" 0) [/B]

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

使用道具 举报

发表于 2006-9-26 19:07:52 | 显示全部楼层
qaflags变量是控制啥玩艺的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-26 19:12:55 | 显示全部楼层
最初由 Underway 发布
[B](acet-ss-intersection SS1 SS2) [/B]

用这个方法可以快速问题,谢谢
请问acet-ss-intersection这个是什么函数,在帮助里查不到哦。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-26 19:15:27 | 显示全部楼层
最初由 eachy 发布
[B](setq s1 (ssget))
(setq s2 (ssget))
(command ".select" s2 "" "r" s1 "")
(setq s (ssget "_P")) [/B]

不好意思,您看错了,您的方法是求差集,并不是交集哦。
可以帮我看看11楼的问题吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 08:21 , Processed in 0.474709 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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