明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 603|回复: 0

[提问] 两组超大量单行文本图元内容比对

[复制链接]
发表于 2023-4-24 20:54:01 | 显示全部楼层 |阅读模式
1明经币
请问如何处理两组超大量文本图元内容比对,1表比2表不同的图元变黄色!!2表比1表不同的图元变红色!!!

自己写的,处理两千对两千个数据三分钟

  • (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)
  • )

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 16:19 , Processed in 0.166884 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表