找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1711|回复: 11

[求助] [求助]:如何实现用LISP画的图形一次全部删除?

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

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

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

×
如何用LISP实现程序画的图形是相互关联的?

比如用LISP画了一条直线,一个圆,删除直线的同时也删除圆?
就像AUTOCAD自己的标注一样,选中其中任何一部分,整个标注都被选中。

另外,选择集是个什么概念?
什么场合用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-1-13 20:24:26 | 显示全部楼层
是啊,我也想知道怎么弄!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-13 22:12:16 | 显示全部楼层
1.可用group
2.複選圖元,依條件過濾選擇集內的圖元,讀取圖元的資料或修改變更
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-14 10:23:09 | 显示全部楼层
楼上兄弟可否说清楚点?还是没有明白你的意思。
代码如何写,小弟刚接触LISP不到两天。

你说的是不是这个意思:
用LISP程序画好的图,想要一次删除,还要在AUTOCAD 里面用命令group 将所画图形编组?

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

使用道具 举报

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

使用道具 举报

发表于 2005-1-14 13:12:28 | 显示全部楼层
在程序开始加:
(command "undo" "be")
在程序结束加:
(command "undo" "e")
就搞定了。试试……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-14 15:38:50 | 显示全部楼层
最初由 silen618 发布
[B]在程序开始加:
(command "undo" "be")
在程序结束加:
(command "undo" "e")
就搞定了。试试…… [/B]


这个要是中间还有别的操作的话就不行吧!

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-1-15 13:19:11 | 显示全部楼层
不用太复杂,试试:
[php]
(defun c:test (/ ss1 ss2 ss3)
  (setq ss1 (ssget "X"))                ;现有物体选择集
  (userlsp)                                ;用户程序内容
  (setq ss2 (ssget "X"))                ;现有物体选择集
  (command "_.select" ss2 "R" ss1)        ;选择集之差
  (setq ss3 (ssget "p"))                ;新选择集
  (command "-group" "C" "*" "" ss3 "")        ;建立匿名组
  (princ)
)

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

使用道具 举报

 楼主| 发表于 2005-1-17 09:29:19 | 显示全部楼层
最初由 xyp1964 发布
[B]不用太复杂,试试:
[php]
(defun c:test (/ ss1 ss2 ss3)
  (setq ss1 (ssget "X"))                ;现有物体选择集
  (userlsp)                                ;用户程序内容
  (setq ss2 (ssget "X"))                ;现有物体选择集
  (command "_.select" ss2 ... [/B] ;选择集之差


首先谢谢楼上的各位。

如果图里面物体很多,那么选这个差集会不会很慢?
用ssadd(enlast)是不是要好一些。
可我用ssadd(enlast)老用不好,是不是这样:
...
(command "line" pt1 pt2 "")
(ssadd  (entlast) ssname1)

(command "line" pt2 pt3 "")
(ssadd (entlast) ssname1 )

(command "-group" "C" "*" "" ssname1 "")   
执行到第一条直线后就退出了,不知道哪里出了错。

还有一个关于匿名组的问题:
如果在循环里面这个匿名组会不会在下次循环时重名?


哪位用过ssget(enlast)?这个怎么用。
这个ss类函数和ent类函数搞得我头大。有没有哪里有专题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 00:12 , Processed in 0.348732 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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