帮助:建议如何提高照明
在图形中,有带有文本属性的门标记块,例如,1-1,1-2。。。。。在excel中,我有一列门标签,其文字对应于图纸中的文字,例如,1-1、1-2。。。。。。
在这个excel中,我突出显示或过滤了某些门标签,例如2-55、2-89
如何最好地通过lisp或脚本在图形中高亮显示相应的门?
我愿意尝试不同的方法。
谢谢 如果你能用excel文件上传包含目标属性块的样例图形,我会一次性为你编写一个程序以节省时间。
谢谢兄弟。
我会在午餐时间做这件事,并尽快寄出去。 随附图纸和excel文件。
谢谢
门标签。图纸
门标签。xls公司 首先将Excel文件另存为csv格式,以便能够使用以下程序进行选择,因为GetField函数不支持其他Excel格式。
其次,试试这个程序,让我知道
(defun c:test (/ ss s f o ex x)
;; Tharwat 08.01.2014 ;;
(cond
((not (setq
ss
(ssget
"_X"
(list '(0 . "INSERT") '(66 . 1) (cons 410 (getvar 'CTAB)))
)
)
)
(alert "No Attributed Blocks found in drawing !!")
)
((and (setq f (getfiled "Select Excel file :"
(getvar 'DWGPREFIX)
"csv"
16
)
)
(setq o (open f "r"))
)
(read-line o)
(while (setq x (read-line o))
(setq l (cons (if (setq ex (vl-string-search
";"
x
)
)
(substr x
1
ex
)
x
)
l
)
)
)
(close o)
(setq s (ssadd))
(repeat (setq i (sslength ss))
(mapcar '(lambda (a)
(if (member (vla-get-textstring a) l)
(ssadd sn s)
)
)
(vlax-invoke
(vlax-ename->vla-object
(setq sn (ssname ss (setq i (1- i))))
)
'getattributes
)
)
)
)
)
(sssetfirst nil s)
(princ)
)
按指示执行。
1.excel另存为CSV
2、打开图纸。
3、负荷试验。lsp
3.运行测试(选择CSV文件)
但什么也没发生。
我刚刚意识到,当保存为CSV时,所有的颜色都消失了&门文本更改为日期格式。 嗨Tharwat
作为Pmed,我等待你修改代码。
谢谢
你好
尝试修改后的程序,应该与txt文件格式,在这里我上传了txt文件为您的测试
(defun c:test (/ ss s f o ex x l i sn)
;; Tharwat 08.01.2014 ;;
(cond
((not (setq
ss
(ssget
"_X"
(list '(0 . "INSERT") '(66 . 1) (cons 410 (getvar 'CTAB)))
)
)
)
(alert "No Attributed Blocks found in drawing !!")
)
((and (setq f (getfiled "Select Excel file :"
(getvar 'DWGPREFIX)
"txt"
16
)
)
(setq o (open f "r"))
)
(read-line o)
(while (setq x (read-line o))
(setq l (cons x
l
)
)
)
(close o)
(setq s (ssadd))
(repeat (setq i (sslength ss))
(mapcar '(lambda (a)
(if (member (vla-get-textstring a) l)
(ssadd sn s)
)
)
(vlax-invoke
(vlax-ename->vla-object
(setq sn (ssname ss (setq i (1- i))))
)
'getattributes
)
)
)
)
)
(sssetfirst nil s)
(princ)
)
门标签。txt文件 谢谢塔瓦。
我已经测试过了。
通常它会选择上传的TXT文件中反映的所有标签。
但是,我注意到,如果对包含不同标记集的TXT文件重复该命令,它仍然会根据第一个TXT选择标记。
然后关闭并重新打开图形文件,并执行了命令,但基于第二个TXT文件,它只选择了特定的标记。然后我在你上传的TXT文件上重复这个命令&它根据你上传的TXT文件选择了标签。
希望你能解决。
页:
[1]
2