明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3819|回复: 7

如何获得某个command后生成的所有物体

[复制链接]
发表于 2008-2-27 09:45:00 | 显示全部楼层 |阅读模式

想获得copy命令后新生成物体的选择集,还有连续标注(dimcontinue)生成的标注选择集

或者,有无类似的系统变量,象undo那样先设置一个标志,以后就可以获得标识之后新生成物体的选择集?

发表于 2009-1-19 13:16:00 | 显示全部楼层

如果,(entlast)返回nil,那么该函数就不能执行了.

回复 支持 0 反对 1

使用道具 举报

发表于 2008-2-27 13:03:00 | 显示全部楼层
  1. ;; [功能] 获取在图元 en 之后产生的图元的选择集
  2. ;; [参数] en----图元名
  3. ;; [返回] 选择集
  4. ;; [测试]1.(setq ent (entlast))
  5. ;;         执行创建图元的命令,如 LINE,BOUNDARY
  6. ;;         (setq lst (lt:ss-entnext ent))
  7. ;;       2.(setq s (lt:ss-entnext (car(entsel))))
  8. (defun lt:ss-entnext (en / ss)
  9.   (if en
  10.     (progn
  11.       (setq ss (ssadd))
  12.       (while (setq en (entnext en)) (ssadd en ss))
  13.       (if (zerop (sslength ss)) (setq ss nil))
  14.       ss
  15.     )
  16.     (ssget "_x")
  17.   )
  18. )
(setq en (entlast))
(command ....)
(lt:ss-entnext en))
回复 支持 0 反对 1

使用道具 举报

发表于 2009-1-19 20:43:00 | 显示全部楼层
jxphklibin发表于2009-1-19 13:16:00如果,(entlast)返回nil,那么该函数就不能执行了.

你试一下不就知道了。

发表于 2009-1-19 22:08:00 | 显示全部楼层
不是说不能执行,我是说选择的不是所需要的,而是 (ssget "_x")
发表于 2009-1-19 23:57:00 | 显示全部楼层
jxphklibin发表于2009-1-19 22:08:00不是说不能执行,我是说选择的不是所需要的,而是 (ssget \"_x\")

如果(entlast)为nil,则图中未画任何实体。所以可用(ssget "X")取得LISP命令执行后生成的所有实体。

发表于 2016-1-28 15:10:56 | 显示全部楼层
caoyin 发表于 2008-2-27 13:03
(setq en (entlast))
(command ....)
(lt:ss-entnext en))

(lt:ss-entnext en))最右边多了一个括号,感谢版主提供方法。
发表于 2020-12-15 14:31:44 | 显示全部楼层
怎么解决的,能不能提供实例。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 11:45 , Processed in 0.171488 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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