查看单个帖子
旧 2009-04-25, 11:11 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 [求助]ssget的过滤器能实现这样的选择吗?

[求助]ssget的过滤器能实现这样的选择吗?
www.dimcax.com
[求助]ssget的过滤器能实现这样的选择吗?我们知道ssget的选择集的数量不能超过128个,为了想让我们所需要的对象都被选上,那么就要尽量多的使用过滤器。
过滤器可以做到这点吗?:
(1) 框选文字,在框选窗口内text 的文字长度小于某个数(比如5)的被剔除出选择集ss,这样出来的选择集ss就只包含文字长度大于等于5的text了。
(2) 框选文字,在框选窗口内所有包含字符串“ab”的text构成了选择集ss。
这两个都可以实现吗?
d
(ssget "x" '((0 . "text") (-4 . ">=") (40 . 5)))
(ssget "x" '((0 . "text") (1 . "*ab*")))
check 帮助 ==> ssget 函数
d
(ssget "x" '((0 . "text") (-4 . ">=") (40 . 5)))
恐怕不行吧? 40 表示的是文字的高度,而我说的是文字的长度。上面的这个选择集只是选择了所有文字高度大于等于5的text。 并不是所有text中文字长度大于等于5的text。
(ssget "x" '((0 . "text") (1 . "*ab*"))) 不可以使用
改成(ssget "x" (list (cons 0 "text") (cons 1 "*ab*") )) 就可以使用了。感谢你的回答!
d
....是文字的长度....
sorry! 诚如是得自定义函数了
d
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)