谁能帮忙完善下属性块数据提取的程序!
本帖最后由 spp_wall 于 2014-10-24 22:40 编辑(defun c:tt (/ d r ss n obj atts)
(while (setq d (tblnext "BLOCK" (null d)))
(setq r (cons (cdr (assoc 2 d)) r))
)
(and r (setq filename (getfiled "属性输出文件名" "" "csv" 1)))
(if filename
(progn
(setq f (open filename "w"))
(foreach name r
(setq ss (ssget "X" (list '(0 . "INSERT")(cons 2 name)'(8 . "KX-目录")'(66 . 1))));选择KX-目录图层
(if ss (progn
(setq atts (append
(vlax-invoke (setq obj (vlax-ename->vla-object (ssname ss 0))) 'GetConstantAttributes)
(vlax-invoke obj 'GetAttributes)
)
)
(princ "序号," f)
(foreach att atts
(princ (vla-get-tagstring att) f)
(princ "," f)
);求出属性列表,写表头
(princ "\n" f)
(setq n -1)
(repeat (sslength ss)
(setq obj (vlax-ename->vla-object (ssname ss (setq n (1+ n)))))
(setq atts (append
(vlax-invoke obj 'GetConstantAttributes)
(vlax-invoke obj 'GetAttributes)
)
)
(princ (1+ n) f) (princ "," f)
(foreach att atts(princ (vla-get-textstring att) f) (princ "," f))
(princ "\n" f);写出属性值
)
))
)
(close f)
))
(princ)
)
能不能实现批量提取一个文件夹的数据!
要是改用vba,我可以帮你。 wangshuping42 发表于 2014-10-24 17:37 static/image/common/back.gif
要是改用vba,我可以帮你。
VBA 我不会 这个指定某一个属性块名该如何修改
多文件操作,可以用SCR脚本、dbx或者用其它语言写的小程序,分享一个小程序,看看对你有帮助不
ssyfeng 发表于 2022-4-8 11:09
多文件操作,可以用SCR脚本、dbx或者用其它语言写的小程序,分享一个小程序,看看对你有帮助不
咦?同一个文件夹,太麻烦了我的做法是,把LSP加入启动。在LISP 中 任意位置加入 (C:SS) ,SS是你的程序命令。 ssyfeng 发表于 2022-4-8 11:09
多文件操作,可以用SCR脚本、dbx或者用其它语言写的小程序,分享一个小程序,看看对你有帮助不
大佬,你好,想问下,这个插件加载的lisp,是不是加载了自动运行那种的才能用,如果加载了,还要敲命令,并且框选全图范围进行选择集的话,是不是就用不了了 批量操作怎么用? jh3030912 发表于 2024-7-17 01:35
批量操作怎么用?
已经学废了,就是风大给的批量操作,然后把对应的lisp,加入启动组,然后用批量操作的exe,执行lisp的启动命令就可以了
页:
[1]