明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1180|回复: 5

[基础] 如何实行一次性选择多个实体, 然后达到 nentsel 的效果

[复制链接]
发表于 2020-4-24 15:34:54 | 显示全部楼层 |阅读模式
本帖最后由 nihaogemen 于 2020-4-24 17:15 编辑

比如 选择一个实体
      (setq ent (car (entsel)))
         然后对 ent 作后续处理

要一次性选择多个实体时      
  (setq ss1 (ssget)
            count1 0
          emax (sslength ss1)
);setq
(while (< count1 emax)
        (setq
           ent (ssname ss1 count1)         
        )

      然后对ent作后续处理
这个我会。

对于某些实体 比如块 三维PL线 标注等
如果只有一个实体,那可以用
(setq ent (car (nentsel)))
这个我也会,
如果一次性选择多个实体,然后要达到 nentsel 的效果 该怎么办?
请大咖指导一下。

发表于 2020-4-24 15:55:08 | 显示全部楼层
你想说啥?标点都没有,叫人猜谜语吗
发表于 2020-4-24 18:04:42 | 显示全部楼层
(ssget ":s")        ???
发表于 2020-4-25 08:19:45 | 显示全部楼层
他是想带提示选择集、、、用NET写个函数来用吧
发表于 2020-4-25 09:42:01 | 显示全部楼层
本帖最后由 gaics 于 2020-4-25 12:04 编辑

不如直接说出你想要的结果,比如说你用(nentsel)的目的是什么,想要得到什么。
以下代码可以多次连续使用nentsel命令点选对象,直至退出命令,同时以表的形式输出所有nentsel的结果。
(defun c:nentsel (/ ent lst)
  (setq lst '())
  (while (setq ent (nentsel))
    (setq lst (cons ent lst))
    (princ "请继续选择,如已完成请按空格键\\回车键\\鼠标右键\\鼠标左键空选退出...")
  )
  (princ lst)
  (princ)
)


发表于 2023-5-27 17:35:16 | 显示全部楼层
楼上的能做成子函数么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 18:29 , Processed in 0.157926 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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