属性提取程序?
是否有属性提取程序,可以从多个Autocad 2004 DWG中提取属性,并将其放入Excel电子表格中。我想从多个DWG的明细表中提取数据,并将重复用于创建主明细表的零件组合在一起。我正在寻找一个程序,该程序在一张图纸上创建此主零件列表,然后为各个图纸创建零件列表。这个在外面吗? 听起来像是外部参照任务。虽然如果没有什么重复,我会为你把帖子移到LISP主题。
刻痕 这是Lisp程序。要处理一些图形,请在绘图区域中拖动lisp文件图标。程序将自动启动。
批处理的一种可能用法:打开一个新图形,转到“工具”>“AutoLisp”>“加载”,然后在“加载/卸载应用程序”窗口中找到lisp文件并将其拖动到启动套件中。现在,该程序将加载到每个图形中。关闭窗口并转到“文件”>“打开”。选择所有要处理的文件(按住shift/Ctrl键可选择多个文件),然后按OPEN。放松并观看屏幕。打开最后一个文件后,搜索文件C:\属性。CSV并用Excel打开。双击该文件可能会使其在Excel中打开,但这也取决于您的设置。
如果dwg不包含具有属性的块,您将在AutoCAD命令行中看到错误消息。请忽略它。
别忘了从创业服中删除该程序!
P、 在没有adecvate过滤器的情况下,该程序将提取您的所有属性,包括标题数据块中的数据、日期戳等。
; Global ATTribute EXtractor
; by Miklos Fuccaromfuccaro@hotmail.com
;-------------------------November 2004 -------
(defun gattex()
(setq ss (ssget "X" '((0 . "INSERT") (66 . 1))))
(if (not ss) (quit))
(setq file (open "c:\\attributes.CSV" "a") i -1)
(write-line (strcat (getvar "DWGPREFIX") (getvar "DWGNAME")
" -found " (itoa (sslength ss))
" block(s) with attributes") file)
(repeat (sslength ss)
(setq l (entget (setq e (ssname ss (setq i (1+ i))))))
(write-line (strcat "block name:" "," (cdr (assoc 2 l))) file)
(while (/= (cdr (assoc 0 l)) "SEQEND")
(if (= (cdr (assoc 0 l)) "ATTRIB")
(write-line (strcat ",," (cdr (assoc 1 l)) "," (cdr (assoc 2 l))) file))
(setq l (entget (setq e (entnext e))))
)
)
(close file)
(princ)
)
(gattex) 令人印象深刻的Fuccaro!
我真的需要学习autolisp!
斯科特 非常感谢。 这个Lisp程序是否附带一个免费的过滤器 ... 也可以在Excel中过滤数据
我感觉到你身上的黑暗面。。。。。只是开玩笑。。。。我正在找人教我如何在excel中过滤它
再次感谢 丹尼尔
你认为什么样的过滤?最简单的方法是添加块名列表,并教会例程忽略列表中未包含的所有块。或者忽略这些,去做其他的。
愿原力与你同在!
我打算修改你的代码,当我能找到时间的时候,让它列出块名,它在同一行中绘制的内容和它的属性,例如
块1、绘图1、属性值1、属性值2等。。。。。
块2、绘图1、属性值1、属性值2等。。。。。
块3、绘图2、属性值1、属性值2等。。。。。
等等等等
基本上,我向承包商提供了我们工艺流程表中的阀门和仪表清单。我没有想过写一个lisp例程,直到你告诉我这个线程,好东西fuccaro,谢谢,如果你有任何想法给我,或看到任何我可能忽略了让我知道,你的帮助已经非常感谢。
页:
[1]
2