两组超大量单行文本图元内容比对
请问如何处理两组超大量文本图元内容比对,1表比2表不同的图元变黄色!!2表比1表不同的图元变红色!!!自己写的,处理两千对两千个数据三分钟:Q-
[*](defun c:tt()
[*] (time:begin)
[*](setvar "CMDECHO" 0)
[*](setq old_sslst (pickset:to-list (ssget'((0 . "TEXT"))));上一层模板信息
[*] new_sslst (pickset:to-list (ssget'((0 . "TEXT"))));本层模板信息
[*] old_out'()
[*])
[*]
[*](entity:putdxf new_sslst 62 9)
[*]
[*]
[*] (foreach a old_sslst
[*] (setq str_a (entity:getdxf a 1)
[*] str_new_sslst (mapcar'(lambda(x)(entity:getdxf x 1)) new_sslst)
[*] a_position (vl-position str_a str_new_sslst)
[*] )
[*] (cond ((/= a_position nil)
[*] (setq new_sslst (list:remove-nth a_position new_sslst))
[*] )
[*] (T
[*] (setq old_out (cons a old_out))
[*] )
[*]
[*] )
[*] )
[*](entity:putdxf new_sslst 62 1)
[*](entity:putdxf old_out 62 2)
[*](if (/= new_sslst nil) (Lst2Table "新增模板" (list:split-3d (mapcar'(lambda(x)(entity:getdxf x 1)) new_sslst))))
[*]
[*](if (/= old_out nil) (Lst2Table "取消模板" (list:split-3d (mapcar'(lambda(x)(entity:getdxf x 1)) old_out))))
[*]
[*](setvar "CMDECHO" 1)
[*] (setq time (time:return))
[*](setq time_str (rtos time 2))
[*](princ (strcat "总计耗时" time_str "秒"))
[*](prin1)
[*])
页:
[1]