preone 发表于 2017-12-23 23:23:22

程序显示 无效选择?

(defun c:tt (/ ss sk)
(setq ss (entsel"select block"))
(setq sk (ssget (list'(0 . "LWPOLYLINE"))))
(command "xclip" ss "n" "s" sk)
)
请教一下,这个小程序为啥显示是 无效选择?
我想了以下几点 不知道对不对,烦请大师指导一二
1 ,ss变量是图元名和选择点坐标的组合表,不能直接用于命令中进行操作?
2,sk变量是选择集,不能直接用于命令中进行操作?这个我以前也用的选择集,是可以用命令操作的,疑惑这个为啥不行?
3,是否这两个变量在同一命令中,必须都是图元名或者都是选择集才可以?
4,一直不明白操作集和图元名,这两个分别用在什么地方,还请大师们解惑,谢谢了。

preone 发表于 2017-12-23 23:51:37

(defun c:tt (/ ss sk)
(setq ss (car (entsel"select block")))
(setq sk (ssget (list '(0 . "LWPOLYLINE"))))
(command "xclip" ss "n" "s" sk)
)
上面这个版本,我把ss变量赋值成为图元名,程序显示还是 无效选择。

(defun c:ttt (/ ss sk)
(setq ss (car (entsel"select block")))
(setq sk (cdr(assoc -1 (entget (ssname (ssget (list '(0 . "LWPOLYLINE"))) 0)))))
(command "xclip" ss "n" "s" sk)
)
这个版本,我把ss变量和sk变量都赋值成为图元名,程序显示还是 无效选择。

vectra 发表于 2017-12-24 09:23:07

所选的对象不是LWPOLYLINE对象

ssyfeng 发表于 2017-12-24 10:36:05

少了个空格
(defun c:tt (/ ss sk)
(setq ss (entsel"select block"))
(setq sk (ssget (list'(0 . "LWPOLYLINE"))))
(command "xclip" ss "" "n" "s" sk)
)

preone 发表于 2017-12-24 12:38:50

vectra 发表于 2017-12-24 09:23
所选的对象不是LWPOLYLINE对象

选的是LWPOLYLINE,我用entget查过,谢谢你的回复:lol

preone 发表于 2017-12-24 12:40:24

ssyfeng 发表于 2017-12-24 10:36
少了个空格
(defun c:tt (/ ss sk)
(setq ss (entsel"select block"))


对是少了个空格 我刚试了不管是图元名还是选择集都可以用,谢谢你~:lol
页: [1]
查看完整版本: 程序显示 无效选择?