明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3101|回复: 11

怎样把我在一个子程序里面生成的所有实体都加到一个选择集里面

  [复制链接]
发表于 2004-3-21 12:48:00 | 显示全部楼层 |阅读模式
怎样把我在一个子程序里面生成的所有实体都加到一个选择集里面,而不用一个一个加?例如在子程序开始的地方加一个标志,结束的地方加一个标志,然后选择集就包括了这两个标志之间的所有实体
发表于 2004-3-21 12:57:00 | 显示全部楼层
一个一个加为什么就不可以?


程序开始前,记住entlast,程序结束后,使用(entnext...)一直到结束,找到一个就加一个到选择集
 楼主| 发表于 2004-3-21 13:04:00 | 显示全部楼层
因为要做fillet所以不能都用pline画线,


那样中间要是画了N条线线,岂不要加N次?
 楼主| 发表于 2004-3-21 13:05:00 | 显示全部楼层
特别是一个command里面画了多条line就没有办法了?
发表于 2004-3-21 13:38:00 | 显示全部楼层
我2楼的话有没有看啊,不是已经教你方法了吗...
 楼主| 发表于 2004-3-21 14:09:00 | 显示全部楼层
(setq entpoint (entnext entlast1)) ;entlast1指向的是你说的记住entlast ;ssmiror是选择集 (while (/= entpoint nil)
(ssadd entpoint ssmirror)
(setq entpoint (entnext entpoint))
) 错在哪里? 或者 (setq entpoint entlast1) ;entlast1指向的是你说的记住entlast,entlast2是最后一个实体 (setq ssmirror nil) (while (/= (setq entpoint (entnext entpoint)) entlast2)
(ssadd entpoint ssmirror)
) 也错了,究竟应该怎么写?
发表于 2004-3-21 14:19:00 | 显示全部楼层
从这点看来,没有错误,不过要看看你的完整的调试程序,,, 你的程序有一点点问题,就是会多一个对象,程序前的entlast不是你需要的,所以后面这样写: (while (setq entpoint (entnext entpoint))
(ssadd entpoint ssmirror)
)
 楼主| 发表于 2004-3-21 14:46:00 | 显示全部楼层
3x,


搞定了,不过不知道为什么,


(setq ssmirror nil)不行,必须是(setq ssmirror (ssadd))
发表于 2004-3-21 19:32:00 | 显示全部楼层
meflying你好,我看了上面的帖子,很有收获,但是我还有一个问题想请教您,----如array,divide,measure,等会一个命令后产生很多个实体的情况怎么把这个命令产生的实体都加在一个集里,
发表于 2004-3-21 20:15:00 | 显示全部楼层
楼上讨论的就是这个问题,解决方法已经在上面了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 19:30 , Processed in 0.191300 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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