需要lisp列出所有选择
选择一些点和类型列表时,AutoCad会显示一些数据的列表,例如点坐标和图层名称或颜色等。另一方面,如果有大量点,则需要按enter键并转至下一页。一年前,我看到了一个lisp例程,它可以在列表窗口中列出所有点坐标,而不需要任何其他不必要的数据,因此您可以将所有选定的点坐标复制并粘贴到文本文件或excel中。
现在,我失去了那个伟大的Lisp程序。就像这张照片(这是Photoshop制作的)
如果有人有它,请给我或请写一个Lisp程序这样的我再次。任何帮助都将不胜感激。 (defun c:lixt ( / i s )
(if (setq s (ssget '((0 . "POINT"))))
(repeat (setq i (sslength s))
(princ
(apply 'strcat
(mapcar 'strcat '("\n\tX=\t" "\tY=\t")
(mapcar 'rtos (cdr (assoc 10 (entget (ssname s (setq i (1- i)))))))
)
)
)
)
)
(princ)
)
我打赌你花的时间比OP写请求的时间要少。 你是个天才我爱你 干杯伙计们 我只是玩了一下。。我突然想到一个主意:
通过更改pdmode变量,视口会自动重新生成,因此这里有一些奇怪的测试条件来确定重新生成是否成功:
_1$ (setvar 'pdmode (getvar 'pdmode)); can be used instead of regen, which is funny
35
_1$ (vla-regen (vla-get-activedocument (vlax-get-acad-object)) acActiveViewport)
nil
_$ (= (getvar 'pdmode) (setvar 'pdmode (getvar 'pdmode)))
T
_$ (if (= (getvar 'pdmode) (setvar 'pdmode (getvar 'pdmode)))
(print "Yes")
(print "No")
)
"Yes" "Yes"
_$
我完全不知道这在哪里可行,只是想把这些信息保存在档案里。 请注意,_LIST命令将几何数据转换为当前UCS。
页:
[1]