请教Autolisp高手:关于entsel函数

选择一个圆后,如何输出圆心坐标的同时,输出entsel选取点的坐标?
输出圆心坐标:(entget (car (entsel)))
输入选取点坐标:(cadr (entsel))
我只想选取一次,两条命令不能同时用。请教高手这种情况怎么解决!谢谢!

entsel

 

提示用户通过指定一个点来选择单个对象(图元)


(entsel [msg])

参数


msg

用于提示用户的字符串。如果省略该参数,则提示信息为“选择对象”。


返回值


表,其中第一个元素是用户所选对象的图元名,第二个元素是用户选择对象时指定的拾取点的坐标值(用当前 UCS 表示)。


entsel 函数返回的拾取点不一定在所选对象上,它返回的是选择对象时十字光标的位置。拾取点和对象之间的关系依赖于拾取框的尺寸和当前缩放比例。


示例


下面的 AutoCAD 命令说明了 entsel 函数的使用方法及其返回的表:


命令: line


起点: 1,1


下一点: 6,6


下一点: ENTER


命令: (setq e (entsel "请选择一个对象: "))


请选择一个对象: 3,3


(<图元名: 60000014> (3.0 3.0 0.0))


有时候在操作一个对象时,不但需要选中一个对象,同时还需要知道指定的点。例如在 AutoCAD 中的 Object Snap 以及 BREAK、TRIM 和 EXTEND 命令中就是这样。entsel 使得 AutoLISP 程序可以实现这种操作。它通过选取点的方式来选取单个对象。除非在函数中作特别申明,否则 initget 函数将忽略当前 Osnap 设置。entsel 函数支持它前面通过调用 initget 函数设置的关键字。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-22
关于entsel函数我讲例子:
选择一个圆后,如何输出圆心坐标的同时,输出entsel选取点的坐标?
输出圆心坐标:(entget (car (entsel)))
输入选取点坐标:(cadr (entsel))

(setq tem (entsel)) ;这里把entsel做成一个变量,下面分别提取。
(setq edata (entget (car tem)))
(setq tempt (cadr tem))
第2个回答  推荐于2016-06-17
(setq tem (entsel)) ;这里把entsel做成一个变量,下面分别提取。
(setq edata (entget (car tem)))
(setq tempt (cadr tem))本回答被提问者采纳
相似回答