broncos15 发表于 2022-7-5 18:22:01

查找DXF信息LISP

所以我一直在尝试制作一个lisp例程,允许用户选择一个对象,并让它打印dxf信息。我的代码如下:
代码工作不正常,但如果我使用entlast而不是ssget,它就会工作。但我需要能够选择一个对象。我得到以下错误;错误:错误的参数类型:lentyp“我的ssget有什么错误?

David Bethel 发表于 2022-7-5 18:38:45

(ssget)返回必须提取成员名称的选取集。
 
(setq en(ssname ss 0))用于单个区段
 
 
(entlast)返回1个ENAME。(entget)仅适用于ENAME。
 
-大卫

Tharwat 发表于 2022-7-5 18:42:07

将这些MOD与您的进行比较。
 

(defun C:PRINTDXF (/ ent)
(if (setq ent (ssget "_+.:E:S"))
   (progn
   (princ "\nentget of selected entity:")
   (foreach x (entget (ssname ent 0))
       (print x)
   )
   (textpage)
   )
)
(princ)
)

broncos15 发表于 2022-7-5 18:57:58

Tharwat,这很有魅力。我并没有意识到我需要在ssget中使用ssname,但这真的很好。大卫,你的mod也在我的原始代码中工作,这对我来说是一个很好的信息。谢谢你们!

Tharwat 发表于 2022-7-5 19:03:40

不客气。
 
正如David之前所述,您需要使用函数ssname检索选择集的名称,正如我在上一个示例中使用的那样,否则entlast将获取图形中的最后一个实体。
 
祝你好运

iconeo 发表于 2022-7-5 19:13:55

李不是有一个elist吗。lsp?我想在他的网站上。我想也一样。。。

BIGAL 发表于 2022-7-5 19:29:36

为什么不使用Entsel呢?这是用于单个实体选择,另一个用于所有VL答案。lsp,它使用entsel。
 
2
页: [1]
查看完整版本: 查找DXF信息LISP