找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1033|回复: 13

[求助] [求助]:在样将一个矩形(是块形式的)先选择,再炸开,最后重新得到选择集?????

[复制链接]
发表于 2005-1-3 22:05:24 | 显示全部楼层 |阅读模式

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

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

×
在样将一个矩形(是块形式的)先选择,得到一个选择集,再炸开,最后重新得到选择集????????
两个选择集应该不同吧,在么得到后面 的选择集呀??
谁知道呀??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-1-4 00:50:12 | 显示全部楼层
(setq e(entlast))
.......
任意编辑
.......
(setq s(get-ss e) )

;;)
(Defun get-ss( e / ss ep) ;;;取在实体e后生成的所有实体选择集
  (setq ss (ssadd) ep e)
  (if (not ep) (setq ep (entnext)))
  (while (/= (setq ep (entnext ep)) nil)
    (ssadd ep ss)
  )
  ss
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-4 01:39:59 | 显示全部楼层
炸开后(ssget "p")
或在回应选择命令的时候用"p"(前一个选集)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-4 10:16:33 | 显示全部楼层
感谢2位版主,但是好像还不行!
1.我画了3个对象(一个矩形pline;一个圆;一个六边形polygon),选择集为S1,
长度为3。
2.explode 炸开3个对象后,在样建造一个选择集S1,可以得到炸开后的11个对象(4+1+6=11)呀??
3.好像在命令窗口可以用梦断江南版主的方法,但是在lisp中没法用呀!版主可以帮我解决
这个问题吗??


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

使用道具 举报

发表于 2005-1-4 13:42:42 | 显示全部楼层
你不是说是块形式么?怎么没做块?
第三个问题,我第二贴的第一句就是用在程序中的。炸开命令可以用command调用,详细看cad帮助
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-4 15:14:53 | 显示全部楼层
请问版主,我说的这种功能用lisp好像实现不了吧??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-1-7 22:50:36 | 显示全部楼层
(ssget "p")
是可以选择到炸开后的图元的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-8 09:00:17 | 显示全部楼层
(ssget "p")
是可以选择到炸开后的图元的。
是对的,但是我的问题还解决 不了呀!!
我的问题如下::

1.我画了3个对象(一个矩形pline;一个圆;一个六边形polygon),选择集为S1,
长度为3。
2.explode 炸开3个对象后,在样建造一个选择集S1,可以得到炸开后的11个对象(4+1+6=11)呀??
3.好像在命令窗口可以用梦断江南版主的方法,但是在lisp中没法用呀!版主可以帮我解决
这个问题吗??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-8 09:35:34 | 显示全部楼层
LISP程序中似乎不能对一个选择集进行以下命令。需要遍历每个实体后用实体名来炸开。然后再用“P”的方式加入新选择集中。或者在炸开之前做个标记,将炸开后形成的实体一次得到。
(command "explode" s1 "")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-8 09:43:24 | 显示全部楼层
圆是炸不开的,(ssget "p")的结果只有10个对象!

试试,有点绕:
[php]
(defun c:test ()
  (setq        s1 (ssget)
        SS S1
        i  -1
  )
  (while (setq e (ssname s1 (setq i (1+ i))))
    (if        (or (= (dxf 0 (entget e)) "POLYLINE")
            (= (dxf 0 (entget e)) "INSERT")
        )
      (command "explode" e)
    )
    (setq s2 (ssget "p"))
    (command "select" SS "a" s2 "")
    (setq s3 (ssget "p")
          SS S3)
  )
  (setq num (sslength SS))
  (princ"\n选择集 : !SS")
  ;num
)
(defun dxf (code elist) (cdr (assoc code elist)))
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-8 10:03:09 | 显示全部楼层
最初由 nuomandi 发布
[B](ssget "p")
是可以选择到炸开后的图元的。
是对的,但是我的问题还解决 不了呀!!
我的问题如下::

1.我画了3个对象(一个矩形pline;一个圆;一个六边形polygon),选择集为S1,
长度为3。
2.explode ?... [/B]

分解时过滤对象
[php]
(defun c:tt (/ ss s1)
  (if (setq s1 (ssget '((-4 . "<not")
                        (0 . "line,arc,circle,text,trace,solid")
                        (-4 . "not>")
                       )
               )
      )
    (progn
      (vl-cmdf ".explode" s1 )
      (setq ss (ssget "p"))
      (sssetfirst nil ss)
    )
  )
  (princ)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-8 14:34:02 | 显示全部楼层
[php]
(DEFUN c:tt ()
  (setvar "qaflags" 1)
  (vl-cmdf ".explode"   (setq ss (ssget)) "")
  (setq ss2 (ssget "p"))
  (vl-cmdf ".select" ss ss2 "")
  (sssetfirst nil (ssget "p"))
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-8 18:21:59 | 显示全部楼层
谢谢xyp1964  、Free-Lancer 、 梦断江南 !!


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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 19:24 , Processed in 0.203135 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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