明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1642|回复: 8

flying大侠,请教一下问题

[复制链接]
发表于 2003-10-16 14:00:00 | 显示全部楼层 |阅读模式
看见你在哦,我正在看陈版主的vlisp程序设计,其中有(setq ess (ssget "x" '((-4."<or")(0."xline")(0."ray")(62.9)(-4."or>")))大体意思我是懂,可是对于(-4."<or")与(-4."or>")想问一下,-4是代表什么意思?如果要是与的话也是这样的形式写吗?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2003-10-16 14:10:00 | 显示全部楼层
就同平常and和or的用法,不过这里用作过滤器的逻辑判断,有其固定的格式,具体的你参考帮助文件中有介绍:
以下摘自帮助文件
*********************************************************

用户也可以创建使用下表中的逻辑分组运算符的嵌套布尔表达式,以此来对组进行测试:

选择集过滤器表中的分组运算符

起始
运算符       
包含的内容        结束
运算符
"<AND"        一个或多个操作数         "AND>"
"<OR"        一个或多个操作数         "OR>"
"<XOR"        两个操作数         "XOR>"
"<NOT"        一个操作数         "NOT>"
与关系运算符类似,分组运算符也由 -4 组指定。它们是成对出现的,必须在过滤器表中适当均衡,否则 ssget 调用将失败。下面是一个在过滤器表中进行分组运算的例子:

(ssget "X"

'(
    (-4 . "<OR")
      (-4 . "<AND")
        (0 . "CIRCLE")
        (40 . 1.0)
      (-4 . "AND>")
      (-4 . "<AND")
        (0 . "LINE")
        (8 . "ABC")
      (-4 . "AND>")
    (-4 . "OR>")
  )

)

此代码选择所有半径为 1.0 的圆和所有位于图层“ABC”上的线。分组运算符不区分大小写,例如,可以用“and>”、“<or”代替“AND>”、“<OR”。
分组运算符不允许在 -3 组中。-3 组中指定的多个应用程序名隐式地使用 AND 运算符。如果用其他分组运算符测试扩展数据,指定单独的 -3 组并根据需要将其分组。要选择包含“APP1”或“APP2”应用程序之一(非全部)的扩展数据的所有圆,请输入下列内容:

(ssget "X"
'((0 . "CIRCLE")
    (-4 . "<XOR")
      (-3 ("APP1"))
      (-3 ("APP2"))
    (-4 . "XOR>")
  )

)

通过将后续分组运算符设置为符号,可以简化其编码方式。上一个样例可改写为下列代码(注意在下面的样例中必须显式地引用每个表):

(setq <xor '(-4 . "<XOR")
       xor> '(-4 . "XOR>") )
(ssget "X"
  (list
    '(0 . "CIRCLE")
    <xor
      '(-3 ("APP1"))
      '(-3 ("APP2"))
    xor>
  )

)

如您所见,这种方法不适用于较短的编码片断,但适用于较大的应用程序。
 楼主| 发表于 2003-10-16 14:28:00 | 显示全部楼层
谢谢! 可是我怎么用帮助查找“分组运算符”或“or”或“过滤器表”就找不到相关内容呢,郁闷,不会我连帮助文件都不会用吧,唉~
发表于 2003-10-16 14:34:00 | 显示全部楼层
估计是你不会用了,
VLISP的开发帮助文件,不是AUTOCAD用户应用帮助。
在开发人员手册部分,用 AutoLISP 操纵 AutoCAD 对象一章,处理选择集-选择集过滤表-过滤测试的逻辑分组
 楼主| 发表于 2003-10-16 14:56:00 | 显示全部楼层
唔,终于找到了,谢谢,我这个2002的开发人员手册开始标题是中文的,到里面全面英文的,所以怎样查中文都没查到。晕~~~~
发表于 2003-10-16 14:59:00 | 显示全部楼层
好象只有2000带的帮助这部分是中文的,所以我一般都用2000的帮助
 楼主| 发表于 2003-10-16 15:10:00 | 显示全部楼层
我看到咱这里有for2000的中文,可是可以下载用到2002里吗?
 楼主| 发表于 2003-10-16 15:14:00 | 显示全部楼层
偶知道了,可以单独用,不用放到2002里,在这里再次表示感谢!!!
发表于 2003-10-16 15:15:00 | 显示全部楼层
不知道,你试试嘛。把原来的HELP备份一下,然后覆盖它,如果不行再改回来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 02:44 , Processed in 0.176254 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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