使用“全部”创建选择集
尊敬的各位:,我是autolisp的初学者,我想用所有的lwpolyline和circle创建一个选择集,但我不知道如何创建它。
(setq set(ssget“x”(list(cons 8(vlax get property object'Name))'(0。“lwpolyline”))
有人能帮我吗?谢谢 此逻辑筛选器将创建请求的选择集:
(setq set (ssget "_X" '((-4 . "<OR")
(0 . "LWPOLYLINE")
(0 . "CIRCLE")
(-4 . "OR>"))))
当做 Msasu,set也是一个lisp函数,不能用作变量。
也:
(setq myset(ssget“_X”(LIST)(0。“LWPOLYLINE,CIRCLE”)(cons 410(getvar“CTAB”))))) @wizman:你说得对,我错了——在没有注意到这个问题的情况下保留了原始变量名。这太尴尬了!
此外,您提出的过滤对我来说是新的(逗号分隔类型)-今天早上我学到了一些东西。谢谢 非常感谢你!谢谢你的帮助!
msasu,
仅供参考,任何wcmatch字符串都可以用于ssget筛选器,即。
(setq myset (ssget "_X" '((0 . "~INSERT"))))
指除INSERT外的所有对象。
或者可能:
(setq myset (ssget "_X" '((0 . "*TEXT,*LINE"))))
将检索多行文字、RTEXT和文字,以及LWPOLYLINE、POLYLINE、SPLINE、XLINE和LINE。
李 这很有用!非常感谢。 谢谢在选择了所有lwpolyline和circle之后,我将把所有选择集转换为vla对象。然后我需要检查这个选择集是否有闭合项或半径项。正确吗?
(或
(=(vlax get property(vlax ename->vla object item)'关闭):vlax false)
(=(vlax get property(vlax ename->vla object item)'半径):vlax false);或
谢谢 我试着写一些代码来检查lwpolyline和circle,但它没有检查圆,并得到以下错误。可能是lisp检查vl对象时没有此项,然后返回错误。是否可以编写lisp将所有圆转换为lwpolyline?
ActiveX服务器返回错误:未知名称:已关闭
出现错误的原因是圆没有闭合特性。
如果您试图将所有圆转换为LWPOLYLINE,为什么要在选择集中收集LWPOLYLINE?
此外,由于圆是一个完全独立的图形对象,因此需要定义多段线的线段数。
李
页:
[1]
2