明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2871|回复: 11

关于选择集过滤的问题

  [复制链接]
发表于 2004-4-15 23:33:00 | 显示全部楼层 |阅读模式
[U]关于选择集过滤的问题[/U] 我在进行选择集的过滤的时候,在过滤掉不符合的图元的时候发现如下问题: ;;;选择半径大于或等于10.0的圆(运行OK
(setq aa (ssget "X" '((0 . "CIRCLE") (-4 . ">=")(40 . 10.0))))
;;;选择半径不等于10.0的圆(运行OK
(setq aa (ssget "X" '((0 . "CIRCLE") (-4 . "/=")(40 . 10.0)))) ;;;选择非圆的其它所有图元(运行)NG
(setq aa (ssget "X" '( (-4 . "/=") (0 . "CIRCLE") ))) 请哪位高手指点迷津。拜托!
发表于 2004-4-15 23:47:00 | 显示全部楼层
  1. 以下是引用zcjhy在2004-4-15 23:33:41的发言:
  2. 选择非圆的其它所有图元(运行)NG
  3. (setq aa (ssget "X" '( (-4 . "/=") (0 . "CIRCLE") )))
用NOT:
  1. (setq aa (ssget "X" '( (-4 . "<NOT") (0 . "CIRCLE") (-4 . "NOT>" ))))
或者:
  1. (setq aa (ssget "X"  '((0 . "~CIRCLE"))))
发表于 2004-4-16 09:39:00 | 显示全部楼层
  1. (setq aa (ssget "X"  '((0 . "~CIRCLE"))))
樓上秋楓的這句好象很特別那個"~CRICLE"是怎麼得來的呀? 以前一直沒有見過.
发表于 2004-4-16 09:49:00 | 显示全部楼层
(setq ss (ssget (list (cons -4 "<AND")
(cons 0 "CIRCLE")
(cons 40 10)
(cons -4 "AND>")))) (setq ss (ssget (list (cons -4 "<NOT")
(cons 0 "CIRCLE")
(cons -4 "NOT>")))) (setq ss (ssget (list (cons -4 "<NOT")
(cons 40 10)
(cons -4 "NOT>"))))
发表于 2004-4-16 09:51:00 | 显示全部楼层
不好意思,这样 (setq ss (ssget (list (cons -4 "<AND")
(cons 0 "CIRCLE")
(cons 40 10)
(cons -4 "AND>")))) (setq ss (ssget (list (cons -4 "<NOT")
(cons 0 "CIRCLE")
(cons -4 "NOT>")))) (setq ss (ssget (list (cons -4 "<NOT")
(cons 40 10)
(cons -4 "NOT>"))))
发表于 2004-4-16 09:56:00 | 显示全部楼层
(setq aa (ssget "X" '((0 . "~CIRCLE")))) 这个挺好的,以前一直都不知道哦!
发表于 2004-4-16 09:58:00 | 显示全部楼层
BDYCAD发表于2004-4-16 9:39:00(setq aa (ssget \"X\" '((0 . \"~CIRCLE\"))))
樓上秋楓的這句好象很特別那個"~CRICLE"是怎麼...
 “~”指“非”的意思,记得是从陈伯雄老师那里学来的。
发表于 2004-4-16 10:05:00 | 显示全部楼层
(setq ss (ssget (list (cons -4 "<AND")
(cons 0 "CIRCLE")
(cons 40 10)
(cons -4 "AND>")))) 这个不需要AND, (setq ss (ssget '((0 . "circle") (40 10.0))))就可以了
发表于 2004-4-16 11:59:00 | 显示全部楼层
'((0 . "~CIRCLE")) 哈哈,等了这么久,终于有人发现新大陆啦:) 那我就顺便和大伙聊聊:) 其实 "" 号里面的规则是和wcmatch中pattern定义的一样的。 如: 提取以-,0开头紧接一个数字字符为图层名特征的图层上非圆实体: (setq aa (ssget '((0 . "~CIRCLE")(8 . "[-0]#")))) ;不用“x”在选择时候更能看清楚效果。

#

(货币单位)

可代替单一数字

@

(圈a)

可代替任何单一的字母字符

(句点)

可代替任何单一的非文数字符

*

(星号)

可代替任何字符顺序, 包括空字符。它可以使用于搜寻样式的任何地方:开头、中间或结尾

?

(问号)

可代替任何单一字符

(浪纹连接号)

如果它是样式中的第一个字符, 则它会代替到该样式以外的任何东西

[...]

可代替所括起来的任何一个字符

[...]

可代替不括在里面的任何字符

(连字号)

用于中括号中以表示单一字符的范围

,

(逗号)

分开两个样式

`

(反引号)

可跳过特殊字符 (按照顺序读入下一个字符)

范例
 楼主| 发表于 2004-4-16 23:06:00 | 显示全部楼层
太好了,没想到一个选择集还有这样的用法。这些可是在帮助文件中看不到的了,希望各位将发现的一些未公布的命令及用法能公布出来,让我们共同进步,打造中国的CAD吧。感谢楼上的帮助,谢谢!对了,还有9楼的同志,能不能将那些符号的用法介绍一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 15:40 , Processed in 0.192753 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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