嘿伙计们,伙计们,WR 的 LISP
所以,已经有一段时间了,但我回来了,耶!新公司,希望能长长久久!
所以我需要:
一个从绘图中提取所有块名称并将它们写入 .txt记事本文件、名称和标签的例程。
记事本文件中的新行目录中的
下一个 dwg,同样的事情....只是简单地获取所有块名称和它们的标签,如果标签有值,那么也获取它。
没有找到任何东西,有人可以指出我正确的方向,还是我需要写这个?
在此先感谢伙计们,我想念你们!
也许这个?
http://www.lee-mac.com/blockcounter.html
ET 还有一个命令:ATTOUT
哪些属性在文本文件中报告.
关闭,Lee 的程序不会从块中提取属性,但非常接近! 这曾经在旧版本的 AC 中为我工作,也许你或其他人可以更新它。可能会给出比您需要的更多的结果,但不需要的数据可以被删除。
BLEXT.LSP
DATAEXTRACTION 不会为您做这个吗?
几乎... OP 想要标签名称和标签值。DEx 给出了除标签名称之外的所有内容。不过,DEx 并不是一个交易破坏者。不能拥有一切!对于那些远离 AC 的人来说,这是一个很好的建议,可以进行一些更新。DEx 很强大。
不,数据提取的工作量超出了它的价值。
我正在使用一个程序将数据提取到自定义 Excel 表中,例如具有公司标题的仪器和/或阀门索引表等。
我的程序将完全自动化 I&E 人员必须手动输入的内容,因此 DEx 将无法工作。
这将以 XML 格式输出 INSERT 和 ATTRIBute 信息:
很容易转换。
(defun c:xml-ins (/ ss i en ed an ad tmp fl xml) (and (setq ss (ssget "X" '((0 . "INSERT")))) (setq i 0) (while (setq en (ssname ss i)) (setq ed (entget en) tmp (list (cdr (assoc 2 ed)))) (and (= 1 (cdr (assoc 66 ed))) (setq an (entnext en) ad (entget an)) (while (= "ATTRIB" (cdr (assoc 0 ad))) (setq tmp (cons (cons (cdr (assoc 2 ad)) (cdr (assoc 1 ad))) tmp) an (entnext an) ad (entget an)))) (setq fl (cons (reverse tmp) fl)) (setq i (1+ i)))) (setq xml (open "test.xml" "w")) (foreach i fl (if (= (length i) 1) (write-line (strcat "" (car i) "") xml) (progn (write-line (strcat "" (car i)) xml) (foreach a (cdr i) (write-line (strcat "" (car a)) xml) (write-line (strcat " " (cdr a) "") xml) (write-line "" xml)) (write-line "" xml)))) (close xml)(prin1))
看起来不错,非常感谢! 不客气。添加有关 INSERT 或 ATTRIBute 的信息并不少见。即插入pt插入层等
页:
[1]