Lee Mac 发表于 2022-7-6 12:37:22

Jadeous,
 
出于您的目的,您发布的LISP将需要完全重写,这就是为什么我试图让“较短”的一个工作(这是一个更好的方式来完成您的任务)。
 
如果你试过,你会收到什么错误?或者发生了什么(或没有发生)?

Jadeous 发表于 2022-7-6 12:39:11

错误读取-“ActiveX服务器返回错误:未找到元素”

Lee Mac 发表于 2022-7-6 12:44:05

 
这很奇怪,因为代码很简单-真的没有多少地方会出错。。。

Lee Mac 发表于 2022-7-6 12:48:21

它在哪里坠毁?如果在ACAD的Visual LISP编辑器中运行它,可能使用“动画”选项,它在哪里失败?

Jadeous 发表于 2022-7-6 12:48:47

它停在零位

Lee Mac 发表于 2022-7-6 12:54:16

 
无代码中的任何地方都没有出现Nil。。。

Jadeous 发表于 2022-7-6 12:55:51

我认为这与06识别块中的属性,08认为它只是dtext或mtext有关。

Lee Mac 发表于 2022-7-6 12:58:33

 
我以前从来没有遇到过,这在06年行吗?

Jadeous 发表于 2022-7-6 13:01:29

是的,确实如此。

Lee Mac 发表于 2022-7-6 13:05:33

 
那么我就不能对代码进行挑剔了——正如我所说的那样,代码中没有多少地方会出错。
 
出于兴趣,您(在ACAD 2008中)能尝试一下这段代码并发布命令行返回的内容吗?
 

(defun c:test (/ ent obj atts tag val)
(vl-load-com)

(if (and (setq ent (car (entsel "\nSelect Block: ")))
          (eq "INSERT" (cdr (assoc 0 (entget ent)))))
   (progn

   (setq obj (vlax-ename->vla-object ent))
   (princ "\n** Entity Converted to VLA-Object **")

   (setq atts (vlax-invoke obj 'GetAttributes))
   (princ "\n** Attributes Obtained **")

   (setq tag (vla-get-TagString (car atts)))
   (princ (strcat "\n** Attribute Tag: " tag " **"))

   (setq val (vla-get-TextString (car atts)))
   (princ (strcat "\n** Attribute Value: " val " **"))))

(princ))
页: 1 [2]
查看完整版本: 旧Lisp不';t工作于