找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1496|回复: 22

[讨论]:如何选择到copy以后的实体

[复制链接]
发表于 2004-12-9 14:12:24 | 显示全部楼层 |阅读模式

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

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

×
程序中有一段代码是创建一些实体,然后copy(autolisp)了一些,如何得到copy后新增实体的选择集呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-12-9 15:24:55 | 显示全部楼层
已经讨论很多次了,搜索一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-9 15:30:47 | 显示全部楼层
http://www.xdcad.net/forum/showt ... 1110320#post1110320

  1. (defun ss:get_after    (ent / ss )
  2.     (setq sub_ent '("VERTEX" "SEQEND" "ATTRIB"))
  3.     (setq ss  (ssadd))
  4.     (while (setq ent (entnext ent))
  5.       (if (member (cdr (assoc 0 (entget ent))) sub_ent)
  6.     ()
  7.     (setq ss (ssadd ent ss))
  8.       )
  9.     )
  10.     ss
  11.   )

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

使用道具 举报

 楼主| 发表于 2004-12-9 19:34:21 | 显示全部楼层
谢谢wkai,我实在是搜索不到,就拿你说的那个帖子为例,搜索什么关键词呢?建议你们这些掌握权力的斑竹整理一下论坛,为初学者创造好的环境。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-9 22:23:04 | 显示全部楼层
我是用 "选择集" 作为关键词搜索到的~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-12-9 22:38:13 | 显示全部楼层
[php]
;;;(setq ent(entlast))
;;;......

(defun ss-from(ent / ss )
(if(not ent)
     (setq ss(ssget "X")) ;;刚开始画
     (progn
       (setq sub_ent '("VERTEX" "SEQEND" "ATTRIB")
             ss  (ssadd)
       )
      (while (setq ent (entnext ent))
        (if (not(member (cdr (assoc 0 (entget ent))) sub_ent) )
            (ssadd ent ss)
        )
      )
    )
)
(if(and ss(>(sslength ss)0) )ss nil)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-10 02:51:36 | 显示全部楼层
印象中command方法是这样

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

使用道具 举报

发表于 2004-12-10 07:52:16 | 显示全部楼层
;;這樣的需求在多年前我就提出(當時也是自已解決的)
;;[編程申請]用法就像autocad中的「L」 & 「P」  
;;是不是可以增加請樣的功能:
;;1.能一次選取copy出來的對象
;;2.用Multiple選項copy出來的對象,也能一次選取出來

;;想想時間過得很快,那時用的就是反應器
;;那程序好像在明經有貼過!但那寫得很差,程序看來很多缺點
;;因AUTOCAD只有"L" & "P"可供選取使用
;; 'K   (通透指令)能一次選取 COPY  出來的物件
;; 'KK  (通透指令)能一次選取 MIRROR 出來的物件
;; 'KKK (通透指令)能一次選取 ARRAY 出來的件

;;BY LUCAS(龍龍仔)
;;如何得到copy後新增實體的選擇集呢?
;;好吧!這次又再重寫,當然寫法改很多,未經使用可能有BUG!
;;因AUTOCAD只有"L" & "P"可供選取使用
;; 'J (通透指令)能一次選取最後一堆產生的物件(j.vlx)
;;只處理右列("3DARRAY"          "ARRAY"      "-ARRAY"            "BLOCK"
;;           "-BLOCK"          "BOUNDARY"   "-BOUNDARY"  "BREAK"
;;             "COPY"          "DTEXT"      "EXPLODE"    "INSERT"
;;             "-INSERT"          "LEADER"     "LINE"            "MIRROR"
;;             "MIRROR3D"          "OFFSET"     "QDIM"            "QLEADER"
;;             "SKETCH"          "SOLPROF"    "TEXT"            "-TEXT"
;;            )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-10 12:39:19 | 显示全部楼层
龍龍仔,你的通透指令是如何使用的?是在LISP中构造选择集中使用吗?能详细说说吗?最好有个示例
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-10 16:43:55 | 显示全部楼层
它只在平常使用,如剛copy出來的東西放的位置不理想,可用move指令 + 'j再移動一下,
它只是建立一個選集----指令過後產生的物件, 要是程式中那不如直接寫在程式內

指令: _copy
選取物件: 指定對角點: 2 找到
選取物件:
指定基準點或位移: 指定位移的第二點或 <使用第一點作為位移>:
指定位移的第二點:

;; 放的位置不理想
指令: move
選取物件: 'j
<Selection set: 230>
2 找到
選取物件:
指定基準點或位移: 指定位移的第二點或 <使用第一點作為位移>:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-11 08:33:58 | 显示全部楼层
谢谢LUCAS斑竹(龍龍仔),这个问题我也想很久了,实在是非常的实用
不知你是如何构建的,(ssadd [ename [ss]])不太熟悉,能否帮忙详细解释一下?(最好举个复杂的例子)
我用的是7楼的方法用SSGET选集通过指定过滤器,获得由指定类型、图层或颜色的所有对象构成的选择集等构建的
eachy  斑竹是通过ObjectID构建的,方法明显比我的好(不知谁的计算得更快?或是和我的方法结合会更好?)
如有时间,请斑竹详细说明一下(最好能对比说明其它方法),谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-12-12 10:06:37 | 显示全部楼层
我觉得还是 (defun ss:get_after    (ent / ss ) 这种方法来的自然些,思路清晰而且执行速度快
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-13 08:00:52 | 显示全部楼层
最初由 它山之石 发布
[B]龍龍仔,你的通透指令是如何使用的?是在LISP中构造选择集中使用吗?能详细说说吗?最好有个示例 [/B]


  1. ;;當然程序中也可以用
  2. ;;ARRAY後再MOVE
  3. ;;只是展示,實際當然可以用到很多地方
  4. (defun C:TT ()
  5.   (setvar "CMDECHO" 1)
  6.   (command "_.ARRAY" (ssget) "")
  7.   (while (> (getvar "CMDACTIVE") 0)
  8.     (command PAUSE)
  9.   )
  10.   ;;選取ARRAY出來的東西&前一選集,再MOVE
  11.   (command "_.MOVE" (C:J) "P" ;|(ssget)|; "" PAUSE PAUSE)
  12.   (princ)
  13. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8644个

财富等级: 富甲天下

发表于 2004-12-13 09:39:02 | 显示全部楼层
龙哥的东西有点小问题:
1、mirror和array后使用,会将原来的选集也选上,而我只想要新产生的。
2、要是中途取消了,再重新执行就不能用了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 17:36 , Processed in 0.213843 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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