Lwcdgl 发表于 2011-10-11 23:01:08

点参数错误怎么改正

我写了一个按参照对象来选择删除对象的LISP,但是总是提示"错误的点参数",请各位帮我修正,我对LISP不是很熟悉.(defun c:se()
(setq en(entsel"\n选择参照对象:"))
(setq en-data(entget(car en)))
(setq en-type(cdr(assoc 6 en-data)))
;-----------------------------------
(setq ss(ssget))
(setq ss1(ssget "X" en-type))
(command "ERASE" ss1 "")
)

chpmould 发表于 2011-10-12 00:23:47

(defun c:se()
(setq en(entsel"\n选择参照对象:"))
(setq ss1 (ssget "X" (list (cons 6 (cdr(assoc 6 (entget(car en))))))))
(command "ERASE" ss1 "")
)

cabinsummer 发表于 2011-10-12 07:02:51

组码6表示线型,如果线型随层,则(assoc 6 en-data)为nil,所以必须单独处理随层的情况。
如果线型不随层,(setq ss1 (ssget "X" (list (cons 6 (cdr(assoc 6 (entget(car en))))))))太冗长
(setq ss1 (ssget "X" (list (assoc 6 (entget(car en))))))即可

Lwcdgl 发表于 2011-10-12 23:28:01

chpmould 发表于 2011-10-12 00:23 static/image/common/back.gif


功能是实现了,但是我一选择参照对象后,屏幕里相同属性的对象全都删除了!如果改为选择参照对象后,再选择需要删除相同属性的对象应该怎么改呢?谢谢

Lwcdgl 发表于 2011-10-12 23:30:10

cabinsummer 发表于 2011-10-12 07:02 static/image/common/back.gif
组码6表示线型,如果线型随层,则(assoc 6 en-data)为nil,所以必须单独处理随层的情况。
如果线型不随层, ...

感谢cabinsummer 独到讲解

lijiao 发表于 2011-10-13 09:30:18

Lwcdgl 发表于 2011-10-12 23:28 static/image/common/back.gif
功能是实现了,但是我一选择参照对象后,屏幕里相同属性的对象全都删除了!如果改为选择参照对象后,再选 ...

(setq ss1 (ssget (list (assoc 6 (entget(car en))))))

Lwcdgl 发表于 2011-10-13 18:48:10

lijiao 发表于 2011-10-13 09:30 static/image/common/back.gif
(setq ss1 (ssget (list (assoc 6 (entget(car en))))))

感谢lijiao
页: [1]
查看完整版本: 点参数错误怎么改正