找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 663|回复: 2

[求助] [求助]:怎样从选择集里提取指定的实体加入新选择集

[复制链接]
发表于 2006-7-6 09:59:44 | 显示全部楼层 |阅读模式

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

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

×
一选择集ssf里有若干类型的实体,现想把ssf里所有闭合的plinex线选取出,加入到另一选择集ssk1里,把ssf里所有的的spline线选出加入ssk2里.怎么就加不进去呢,ssk1和ssk2里都有为nil,请问错在那里?
         (setq ssf (ssadd)                                                     
               ssk1 (ssadd)                                          
               ssk2 (ssadd)                                          
               ssf (ssget "f" (list p0 pn))                           
               i 0
         )
                (repeat (sslength ssf)                     
                        (setq ssn (ssname ssf i)           
                              end1 (entget ssn)           
                              od (assoc 70 end1)           
                        )
                     (if (= od 1) (ssadd ssn ssk1))   ;如果群码值为1,是封闭的多段线
                     (if (= od 11) (ssadd ssn ssk2))  ;如果群码值为11,是封闭的曲线
                     (setq i (+ i 1))
                )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-7-6 20:01:27 | 显示全部楼层
(defun c:ee ()
  (setq p0 (getpoint "\n pick a point"))
  (setq pn (getcorner p0  "\n pick a point"))
       
  (setq        ssf  (ssadd)
        ssk1 (ssadd)
        ssk2 (ssadd)
       
        ssf  (ssget "f" (list p0 pn))
        i    0
  )
  (repeat (sslength ssf)
    (setq ssn  (ssname ssf i)
          end1 (entget ssn)
          od   (cdr (assoc 70 end1))
    )
    (if        (= od 1)
      (ssadd  end1 ssk1 )
    )                                        ;如果群码值为1,是封闭的多段线
    (princ)
    (if        (= od 11)
      (ssadd end1 ssk2 )
    )                                        ;如果群码值为11,是封闭的曲线
    (setq i (+ i 1))
  )
  ;(entupd ssk1)
  ;(entupd ssk2)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-6 21:05:35 | 显示全部楼层
  1. [FONT=courier new](setq        ;ssf   (ssget '((0 . "*POLYLINE")))
  2.         ssk1 (ssadd)
  3.         ssk2 (ssadd)
  4.         i    -1
  5.   )
  6.   (while (setq s1 (ssname ssf (setq i (1+ i))))
  7.     (if        (vlax-curve-isClosed s1)
  8.       (ssadd s1 ssk1)
  9.       (ssadd s1 ssk2)
  10.     )
  11.   )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-29 12:22 , Processed in 0.173754 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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