只需一步,快速开始
使用道具 举报
(defun c:tjl() ;分类统计线长度 (setq lss (ssget '((0 . "line")))) (setq i 0) (setq biao '()) (repeat (sslength lss) (setq a (ssname lss i)) (setq a10 (cdr (assoc 10 (entget a)))) (setq a11 (cdr (assoc 11 (entget a)))) (setq dist (distance a10 a11)) (if (assoc dist biao) (progn (setq bbb (assoc dist biao)) (setq bbbb (list dist (1+ (cadr bbb)))) (setq biao (subst bbbb (assoc dist biao) biao)) ) (setq biao (append biao (list (list dist 1)))) ) (setq i (1+ i)) ) (foreach x biao (princ "\n")(princ x) )(princ))
输出到文件里
自己copy吧
(defun c:tjl() ;分类统计线长度 (setq lss (ssget '((0 . "line")))) (setq i 0) (setq biao '()) (repeat (sslength lss) (setq a (ssname lss i)) (setq a10 (cdr (assoc 10 (entget a)))) (setq a11 (cdr (assoc 11 (entget a)))) (setq dist (distance a10 a11)) (if (assoc dist biao) (progn (setq bbb (assoc dist biao)) (setq bbbb (list dist (1+ (cadr bbb)))) (setq biao (subst bbbb (assoc dist biao) biao)) ) (setq biao (append biao (list (list dist 1)))) ) (setq i (1+ i)) ) (setq file (open "c:\\temp.txt" "w")) (foreach x biao (princ (car x) file)(princ "\t" file)(princ (cadr x) file)(princ "\n" file) ) (close file)(princ))
太感谢你了,
有一个小问题,数量太多的时候,会导致同样长的线,出现几次。
1375.0 108650.0 24621400.0 3768445.0 15121475.0 56400.0 56445.0 281400.0 138646.71 2445.0 281400.0 18
試試,改一下
(setq dist (rtos (distance a10 a11) 2 1))
或
(setq dist (atof (rtos (distance a10 a11) 2 1)))
改成(setq dist (rtos (distance a10 a11) 2 1))就可以了,谢谢!
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-2-21 03:26 , Processed in 0.247150 second(s), 26 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.