CADdet 发表于 2022-7-6 09:56:55

如何附加此信息

大家好,
 
我在网上找到了下面的lisp,并想将所有返回的信息附加到一个txt文件中。我可以管理一行文本,但现在完全丢失了,因为lisp返回的不少于23行。
 
我感兴趣的是:
 
码头状态(RO)
左边
名称
顶部
 
虽然如果所有23行都附加到一个文本文件中,它将适合在VB中进一步处理。不管怎样。
 
有人能帮忙吗;
 
代码如下:
 
(defuntry (tb / f)
(vl-load-com)
(vlax-for
   a (vla-get-menugroups (vlax-get-acad-object))
    (if (equal (vla-get-name a) "ACAD")
      (vlax-for
b (vla-get-toolbars a)
(if (equal (strcase (vla-get-name b)) (strcase tb))
   (progn
   (setq
       tlb b
       f 'T
       ) ;_ end of setq
   (vlax-dump-object tlb 't)
   ) ;_ end of progn
   ) ;_ end of if
) ;_ end of vlax-for
      ) ;_ end of if
    ) ;_ end of vlax-for
(if (not f)
    (princ "\nToolbar not found: ")
    ) ;_ end of if
(princ)
)

irneb 发表于 2022-7-6 10:48:13

该代码只是使用vlax dump object函数,该函数仅在textscreen上显示对象的属性。它不会“返回”任何内容,因此您将无法使用它保存到文件。你可以打开日志记录(选项对话框,打开并保存选项卡,维护一个日志文件)。但这只会将整个文本屏幕附加到一个文件中——这不是你真正需要的吗?
 
无论如何,还有另一种方法:
然后你可以这样称呼它:
这提供了一个CSV字符串,因此您可以使用write line将其保存到CSV文件中。然后可以直接在Excel中打开,例如:
3

pBe 发表于 2022-7-6 11:17:05

嗯。。该代码(CADdet)看起来很熟悉
页: [1]
查看完整版本: 如何附加此信息