明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3116|回复: 15

[已解答] 求高手帮忙修改代码!!在此先谢Gu_xl 框选删除源码 很给力!!

[复制链接]
发表于 2015-6-11 18:10:03 | 显示全部楼层 |阅读模式
用了论坛Gu_xl高手的框选全删除源码 很给力 谢谢了 不好意思
求帮忙加入筛选 即改为除文字 块 圆 圆弧 样条曲线之外框选全部删除  谢谢了

;;框内物体删除 By Gu_xl
(defun c:tt (/ OS P1 P2 CP SS ENREC N *error*)
  (defun *error* (s)
    (setvar "osmode" os)
    (princ s)
    )
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setq p1 (getpoint "\n指定基点:"))
  (setq p2 (getcorner p1 "\n指定对角点:"))
  (setq cp (mapcar '* '(0.5 0.5 0.5) (mapcar '+ p1 p2)))
  (setq ss (ssget "w" p1 p2))
  (if ss (command "erase" ss ""))
  (command "rectang" p1 p2)
  (setq enRec (entlast))
  ;;重复5次,以保证剪切干净
  (repeat 5
  (setq ss (ssget "c" p1 p2))
    (ssdel enRec ss)
  (command ".trim" enRec "")
  (repeat (setq n (sslength ss))
    (command (list (ssname ss (setq n (1- n))) cp))
    )
  (command "")
    )
  ;;删除绘制的方框
  (entdel enRec)
  (setvar "osmode" os)
  (princ)
  )
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2015-6-11 20:49:43 | 显示全部楼层
dbqtju 发表于 2015-6-11 20:22
将(ssget "w" p1 p2)替换为(ssget "w" p1 p2 '((-4 . "")));
(ssget "c" p1 p2)替换为(ssget "c" p1 p2 ' ...

谢谢高手指点了 我试下
回复 支持 1 反对 0

使用道具 举报

发表于 2015-6-11 20:22:26 | 显示全部楼层
将(ssget "w" p1 p2)替换为(ssget "w" p1 p2 '((-4 . "<NOT") (0 . "ARC,CIRCLE,INSERT,SPLINE*TEXT") (-4 . "NOT>")));
(ssget "c" p1 p2)替换为(ssget "c" p1 p2 '((-4 . "<NOT") (0 . "ARC,CIRCLE,INSERT,SPLINE*TEXT") (-4 . "NOT>")))

评分

参与人数 1明经币 +1 收起 理由
wayne_myles + 1 很给力!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-6-11 20:55:49 | 显示全部楼层
刚来没有啥 发点小软件 给大伙用 小巧的音乐播放器(PC)

本帖子中包含更多资源

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

x
 楼主| 发表于 2015-6-11 21:07:41 | 显示全部楼层
再发个绿色单文件的  个人觉得很小巧很好用 本人发的都是精品无广告小软件哦

本帖子中包含更多资源

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

x
 楼主| 发表于 2015-6-12 05:34:24 | 显示全部楼层
本帖最后由 wayne_myles 于 2015-6-12 08:05 编辑
dbqtju 发表于 2015-6-11 20:22
将(ssget "w" p1 p2)替换为(ssget "w" p1 p2 '((-4 . "")));
(ssget "c" p1 p2)替换为(ssget "c" p1 p2 ' ...


dbqtju大侠 是这样吗 !  基本可以了 ,就是文字会被删除,请指点下,再帮忙加入中心线不删除 和绿色直线 还有黄色虚线不删除 不知道可行吗  麻烦了 谢谢

;;框内物体删除 By Gu_xl
(defun c:tt (/ OS P1 P2 CP SS ENREC N *error*)
  (defun *error* (s)
    (setvar "osmode" os)
    (princ s)
    )
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setq p1 (getpoint "\n指定基点:"))
  (setq p2 (getcorner p1 "\n指定对角点:"))
  (setq cp (mapcar '* '(0.5 0.5 0.5) (mapcar '+ p1 p2)))
  (setq ss (ssget "w" p1 p2 '((-4 . "<NOT") (0 . "ARC,CIRCLE,INSERT,SPLINE*TEXT") (-4 . "NOT>"))))
  (if ss (command "erase" ss ""))
  (command "rectang" p1 p2)
  (setq enRec (entlast))
  ;;重复5次,以保证剪切干净
  (repeat 5
  (setq ss (ssget "c" p1 p2 '((-4 . "<NOT") (0 . "ARC,CIRCLE,INSERT,SPLINE*TEXT") (-4 . "NOT>"))))
    (ssdel enRec ss)
  (command ".trim" enRec "")
  (repeat (setq n (sslength ss))
    (command (list (ssname ss (setq n (1- n))) cp))
    )
  (command "")
    )
  ;;删除绘制的方框
  (entdel enRec)
  (setvar "osmode" os)
  (princ)
  )

本帖子中包含更多资源

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

x
发表于 2015-6-12 08:50:41 | 显示全部楼层
现在还不是大侠,也是刚刚上路。((-4 . "<NOT") (0 . "ARC,CIRCLE,INSERT,SPLINE*TEXT") (-4 . "NOT>"))内SPLINE和*TEXT之间少了个逗号。
附件增加了不选择红色或者青色的直线(要自己改的不能是bylayer)。
先试试吧。现在只能想到这么多了。还不行,只能一起等大大侠了。
还有,最好是把图作为附件传上来,才能让人知道具体的东西。

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 收起 理由
wayne_myles + 1

查看全部评分

发表于 2015-6-12 11:19:41 | 显示全部楼层
为什么这个帖子的中间夹杂着广告
 楼主| 发表于 2015-6-12 13:42:12 | 显示全部楼层
本帖最后由 wayne_myles 于 2015-6-12 13:43 编辑
dbqtju 发表于 2015-6-12 08:50
现在还不是大侠,也是刚刚上路。((-4 . ""))内SPLINE和*TEXT之间少了个逗号。
附件增加了不选择红色或者青 ...

hehe  谦虚  可以了蛮好的 麻烦 谢谢了
 楼主| 发表于 2015-6-12 13:45:42 | 显示全部楼层
鱼与熊掌 发表于 2015-6-12 11:19
为什么这个帖子的中间夹杂着广告

呵呵 不是广告 是分享好东西 如何分辩是否是广告是广告就一定会有链接
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-19 06:23 , Processed in 0.176539 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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