Guest tkwon 发表于 2022-7-5 18:50:00

属性提取程序?

是否有属性提取程序,可以从多个Autocad 2004 DWG中提取属性,并将其放入Excel电子表格中。我想从多个DWG的明细表中提取数据,并将重复用于创建主明细表的零件组合在一起。我正在寻找一个程序,该程序在一张图纸上创建此主零件列表,然后为各个图纸创建零件列表。这个在外面吗?

Mr T 发表于 2022-7-5 18:54:04

听起来像是外部参照任务。
 
虽然如果没有什么重复,我会为你把帖子移到LISP主题。
 
刻痕

fuccaro 发表于 2022-7-5 18:59:13

这是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)

sab423 发表于 2022-7-5 19:01:34

令人印象深刻的Fuccaro!
 
我真的需要学习autolisp!
 
斯科特

fuccaro 发表于 2022-7-5 19:03:22

非常感谢。

DANIEL 发表于 2022-7-5 19:07:12

这个Lisp程序是否附带一个免费的过滤器

fuccaro 发表于 2022-7-5 19:09:18

... 也可以在Excel中过滤数据

DANIEL 发表于 2022-7-5 19:15:01

 
我感觉到你身上的黑暗面。。。。。只是开玩笑。。。。我正在找人教我如何在excel中过滤它
 
再次感谢

fuccaro 发表于 2022-7-5 19:18:27

丹尼尔
你认为什么样的过滤?最简单的方法是添加块名列表,并教会例程忽略列表中未包含的所有块。或者忽略这些,去做其他的。
愿原力与你同在!

DANIEL 发表于 2022-7-5 19:21:03

 
我打算修改你的代码,当我能找到时间的时候,让它列出块名,它在同一行中绘制的内容和它的属性,例如
 
块1、绘图1、属性值1、属性值2等。。。。。
块2、绘图1、属性值1、属性值2等。。。。。
块3、绘图2、属性值1、属性值2等。。。。。
等等等等
 
基本上,我向承包商提供了我们工艺流程表中的阀门和仪表清单。我没有想过写一个lisp例程,直到你告诉我这个线程,好东西fuccaro,谢谢,如果你有任何想法给我,或看到任何我可能忽略了让我知道,你的帮助已经非常感谢。
页: [1] 2
查看完整版本: 属性提取程序?