屏幕小白点的消除程序
本帖最后由 Highflybird 于 2013-7-6 11:09 编辑有时候,由于用了外来的程序或者其他操作原因,造成了屏幕上留下了一些小白点,放大仔细看这些小白点,却有不见了。
究竟是什么缘故呢。原来这些小白点是 一些空格字符造成的。就这些小白点,你选择不到,有时候又看得见,影响图形美观和其他东西。
既然是小问题,就小程序解决,下面我提供方法:
**** Hidden Message *****
这个程序对于天正或者思维尔的同样有效。同样,这个程序可以对图块内的这样的文字也有效,是ssget不能实现的。
2014可以purge空白文字,另外ssget可以直接过滤这个空格吗? 沙发!有碰到过这个问题,放大了看不见,缩小图元可见,感谢高飞。学习下 (if (= " " (setq txt (cdr (assoc 1 dxf))))
这句判断改成这样好点:
(if (= "" (vl-string-trim " " (cdr (assoc 1 dxf))))
字串多于一个空格的也删掉! 极低版本转过来的图,还有一种空文字("")的Text和长度为0的Line,不过现在极少见了。 本帖最后由 Highflybird 于 2013-6-9 17:39 编辑
Free-Lancer 发表于 2013-6-9 17:09
2014可以purge空白文字,另外ssget可以直接过滤这个空格吗?
哦,2014还有这个功能?呵呵,ssget没测试过。
因为普通的选择是无法选到的。
天正的这个小白点问题也碰到过。普通文字的小白点也碰到过。 楼主的程序非常好,:lol学习学习! 我有时画图,好像是用了zoom命令之后,图形全不见了,变成两个点了,一个小白点,一个小红点,把小红点删了,再zoom一下,图又回来了,不知道什么原因。 给个简单的东东(defun c:sckg (/ ss)
(setvar "CMDECHO" 0)
(if (setq ss (ssget "X" '((0 . "*TEXT") (1 . " "))))
(command "_.ERASE" ss "")
)
(if (setq ss (ssget "X" '((0 . "*TEXT") (1 . ""))))
(command "_.ERASE" ss "")
)
(setvar "CMDECHO" 1)
(princ)
)
(prompt "\命令是:SCKG")
(princ)
原来是这个原因!!! 这样选择行不行?
(ssget "x" '((1 . "\"\",\" \""))) 我的程序是可以嵌套进块里面的,不是ssget所能完成的。 分两步,外面ssget, 块内遍历 不错,多谢楼主的源码 ,多谢牢固 以前是刷新一下
目前因积分不够尚看不见大师的高尚方法啊