katamoto 发表于 2014-11-19 08:33:32

如何用ssget或者其他的方法非手工选择当前界面可见的文字图元?

本帖最后由 katamoto 于 2014-11-19 08:34 编辑

平时用(ssget "x" '((0 . "TEXT")))比较多,这样可以不用操作选择所有符合要求的图元,但是关闭图层中的文字(当前看不见的)也被选中。
用(ssget "wp" ptlist '((0 . "TEXT")))又必须要事先设置好ptlist,考虑搞个通用性的程序,这个也不行。。

请大侠们帮帮忙还有什么设置可以满足我的要求

ZZXXQQ 发表于 2014-11-19 08:41:09

(setq ss (ssget "W" (getvar "EXTMIN") (getvar "EXTMAX") '((0 . "TEXT"))))

自贡黄明儒 发表于 2014-11-19 08:50:20

ZZXXQQ 发表于 2014-11-19 08:41 static/image/common/back.gif
(setq ss (ssget "W" (getvar "EXTMIN") (getvar "EXTMAX") '((0 . "TEXT"))))

(command "line" (getvar "EXTMIN") (getvar "EXTMAX") "")不准呢?

katamoto 发表于 2014-11-19 08:51:50

ZZXXQQ版本真乃神人也,我的帖子都迅速高效回复,

自贡黄明儒 发表于 2014-11-19 08:54:13

katamoto 发表于 2014-11-19 08:51 static/image/common/back.gif
ZZXXQQ版本真乃神人也,我的帖子都迅速高效回复,

用Z版方法,但用下面两个点
;;117.3 [功能] 返回当前视窗左下角和右上角 坐标
(defun viewpnts        (/ a b c d x)
(setq        b (getvar "viewsize")
        c (car (getvar "screensize"))
        d (cadr (getvar "screensize"))
        a (* b (/ c d))
        x (setq x (getvar "viewctr"))
        x (trans x 1 2)
        c (list (- (car x) (/ a 2.0)) (- (cadr x) (/ b 2.0)) 0.0)
        d (list (+ (car x) (/ a 2.0)) (+ (cadr x) (/ b 2.0)) 0.0)
        c (trans c 2 1)
        d (trans d 2 1)
)
(list c d)
)

katamoto 发表于 2014-11-19 09:00:44

自贡黄明儒 发表于 2014-11-19 08:50 static/image/common/back.gif
(command "line" (getvar "EXTMIN") (getvar "EXTMAX") "")不准呢?

我试了下(command "rectangle" (getvar "EXTMIN")(getvar "EXTMAX"))
可以的啊,你那个为啥呢?

自贡黄明儒 发表于 2014-11-19 09:54:32

katamoto 发表于 2014-11-19 09:00 static/image/common/back.gif
我试了下(command "rectangle" (getvar "EXTMIN")(getvar "EXTMAX"))
可以的啊,你那个为啥呢?

你zoom之后呢?
页: [1]
查看完整版本: 如何用ssget或者其他的方法非手工选择当前界面可见的文字图元?