找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1214|回复: 7

[求助] 怎样多段选择的时候使用ssget "f"

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2018-8-29 19:50:07 | 显示全部楼层 |阅读模式

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

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

×
(defun c:xxx ()
(setq p1(getpoint))
(setq p2(getpoint p1))
(setq ss (ssget "f" (list p1 p2)))
(command "ERASE" ss "")
(princ)
)
现在只能选择2点 删除 这一条线的东西
请问用什么函数 可以选择多次(比如像 多段线一样 选择完 多短线的点与点之间的物体删除)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 590个

财富等级: 财运亨通

发表于 2018-8-30 08:27:29 | 显示全部楼层
;再给你一种方式
(defun c:test ()
        (command "ERASE" "f")
        (while (/= (getvar "cmdactive") 0)
                (command pause)
        )
        (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 1 反对 0

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-8-29 20:00:33 | 显示全部楼层
ssget "f" 你就是负责构造点表,
你上面的,想自己选点,多个,就用循环
(setq pts nil)
(while (setq p1 (if (not pts)
                          (getpoint "\n拾取点<退出>:"))
                          (getpoint (car pts) "\n下一点<结束>:")))
   (setq pts (cons p1 pts))
)
(setq pts (reverse pts))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2018-8-30 08:30:05 | 显示全部楼层
newer 发表于 2018-8-29 20:00
ssget "f" 你就是负责构造点表,
你上面的,想自己选点,多个,就用循环
(setq pts nil)

早上好 很感谢你 帮忙
实在是没弄懂。。。
能再帮忙看一下吗
(defun c:mm ()
(setq pts nil)
(while (setq p1 (if (not pts)
(getpoint "\n拾取點<退出>:"))
(getpoint (car pts) "\n下一點<結束>:")))
(setq pts (cons p1 pts))
(setq pts (reverse pts))
(setq ss (ssget "f" pts))
(command "ERASE" ss "")
(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2018-8-30 08:33:57 | 显示全部楼层
namezg 发表于 2018-8-30 08:27
;再给你一种方式
(defun c:test ()
        (command "ERASE" "f")

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2018-8-30 08:35:20 | 显示全部楼层
namezg 发表于 2018-8-30 08:27
;再给你一种方式
(defun c:test ()
        (command "ERASE" "f")

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

使用道具 举报

已领礼包: 1669个

财富等级: 堆金积玉

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

使用道具 举报

已领礼包: 590个

财富等级: 财运亨通

发表于 2018-8-30 09:59:01 | 显示全部楼层
;栏选删除对象
(defun c:ZG_EraseF (/ pt ptlst ss)
        ;获取点表
        (if (setq pt (getpoint "\n指定第一点<退出>: "))
                (progn
                        (setq ptlst (cons pt ptlst))
                        (while (setq pt (getpoint pt "\n指定下一点<结束>: "))
                                (setq ptlst (cons pt ptlst))
                                (grdraw (cadr ptlst) (car ptlst) 7 1)
                        )
                        (setq ptlst (reverse ptlst))
                )
        )
        ;删除选择集
        (setvar "cmdecho" 0)
        (if (and ptlst (setq ss (ssget "f" ptlst)))
                (command "_.erase" ss "")
        )
        (setvar "cmdecho" 1)
        (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 04:23 , Processed in 0.386448 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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