扩展数据导出
将所有块对象的扩展数据与属性一起提取到excel中。Lisp程序示例:07-01-02-01,1110,0,扩展数据(6RKH-02-09)
示例dwg。图纸 看看这个http://adndevblog.typepad.com/autocad/2013/01/xdata-using-vla-get-and-vla-set.html 导出到文本文件时出错错误:错误的参数类型:stringp nil
并且无法在txt文件中写入nil值。 (定义c:数据输出(/f Linetowrite ctr item Obj xxx)
(vl load com)
(setq f(打开“c:\\temp\\DataOut.txt”“w”)
(setq Linetowrite(setq ob(ssget“x”'((0。“INSERT”)(2。“SK-Code-breakdown”))))))
(普林斯“\n正在写入文件C:\\temp\\DataOut.txt:”)
(程序
(setq ctr 0)
(重复(sslength Linetowrite)
(setq项目(ssname Linetowrite ctr))
(setq Obj(vlax ename->vla对象项))
(setq xxx nil)
(写入行
(strcat)
(vla get name Obj)
"|"
(实时操作系统
(汽车(vlax safearray->列表
(vlax变量值(vla get InsertionPoint Obj))
)
)
)
"|"
(实时操作系统
(cadr(vlax safearray->列表
(vlax变量值(vla get InsertionPoint Obj))
)
)
)
"|"
(vla get textstring
(第n个0)
(vlax safearray->列表
(变量值
(vla获取属性
Obj公司
)
)
)
)
)
"|"
(vla get textstring
(第n个1)
(vlax safearray->列表
(变量值
(vla获取属性
Obj公司
)
)
)
)
)
"|"
(vla get handle Obj)
"|"
(如果(/=xd nil)
(程序
(setq xdx(cdr(foreach a(setq xd(cdr(assoc-3(entget item’(“*”))))))))
(foreach x a(princ x \\k)аааа)а)
(如果(=xd nil)
(xxx)))
)
f
)
(setq ctr(1+ctr))
)
)
(关闭f)
(普林斯)
)
输出为(STRCAT“SK Code breakdown”“|”“23147914.5353,-6455495.9276”“|”“03-03-02-02”“|”“220.0”“|”“64141”“|”nil) 请阅读:
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
尝试更改:
(setq xxx nil)
收件人:
(setq xxx "")
页:
[1]