要求用户输入并使用
大家好。我希望这一次我过得很轻松:我想让用户在lisp过程中输入选择集的名称,然后调用它以突出显示其中的元素。
不幸的是,我不太确定如何让用户输入到工作中。见以下代码:
(setq ct -1)
(setq ans (getstring "Please enter name of selection set. "))
(setq ans (read ans))
(repeat (sslength ans)
(setq obX (ssname ans (setq ct (1+ ct))))
(redraw obX 3)
)
问题是我无法将字符串从用户传输到(不确定,但我想我需要)符号。
有人能给我一个如何转换它的提示吗。
顺致敬意,
阿门特 (set (read "A") 5)
注意set和setq之间的差异
(原理a)->5
其他符号函数有vl符号名和vl符号值
gr.Rlx
(setq ans (getstring "\nSpecify name of sel. set : ")) ;;; you type selsetxxx
(set (read ans) (ssget)) ;;; to select entities and store them in selsetxxx
;;; 突出显示它
(sssetfirst nil selsetxxx);;;或者最终如果ans未本地化
(sssetfirst nil (vl-symbol-value (read ans)))
HTH。,M、 R。 我检查了一下,但若我并没有错的话,它也允许我评估第一个参数。但我认为这对我不起作用。
(由于我多次使用同一变量,我更新了代码以使其更容易澄清)
我的内存中有一个名为tbe的选择集,因此用户输入名称,我得到字符串“tbe”集作为变量ans的值
现在我想在一个新的集合hl中有相同的选择集tbe的条目。
(编辑)
或者在我的COLD中使用答案(“tbe”)而不是hl。但它出错了,因为它不需要字符串。
(编辑结束)
也许我只是看不到森林里的福利斯。。 也许 吧:
(setq hl (vl-symbol-value (read ans))) 7
就这样。。想得不够远。。非常感谢。
页:
[1]