明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3926|回复: 15

如何统计电线的数量?

  [复制链接]
发表于 2012-2-19 19:46:21 | 显示全部楼层 |阅读模式
1明经币

我是搞电气设计的,如何采用图中的方法统计图纸中电线的数量呢?

附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

编了一个不成熟的程序仅供参考,数据统计出来了,至于如何画表,自己搞定吧,我懒得搞了 (defun c:qq (/ color ent ent1 i long lst1 lst2 lstls n name name1 num ss ss1 x y ) (vl-load-com) (if (setq ss (ssget '((0 . "LWPOLYLINE") (8 . "WIRE-照明")))) (progn (setq lst1 '() lst2 '() ) (repeat (setq i (sslength ss)) (setq name (ssname ss (setq i (1- i))) ...
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-2-19 19:46:22 | 显示全部楼层
编了一个不成熟的程序仅供参考,数据统计出来了,至于如何画表,自己搞定吧,我懒得搞了
(defun c:qq (/ color ent ent1 i long lst1 lst2 lstls n name name1 num ss ss1
               x y
            )
  (vl-load-com)
  (if (setq ss (ssget '((0 . "LWPOLYLINE") (8 . "WIRE-照明"))))
    (progn
      (setq lst1 '()
            lst2 '()
      )
      (repeat (setq i (sslength ss))
        (setq name (ssname ss (setq i (1- i))))
        (setq ent (entget name))
        (setq n 0
              lstls '()
              num "未标注默认3线"
        )
        (repeat (length ent)
          (if (= (car (nth n ent)) 10)
            (setq lstls (cons (cdr (nth n ent)) lstls))
          )
          (setq n (1+ n))
        )
        (setq long (distance (car lstls) (cadr lstls)));;取得线长度
        (if (setq ss1 (ssget "F" (list (car lstls) (cadr lstls))))
          (repeat (setq n (sslength ss1))
            (setq name1 (ssname ss1 (setq n (1- n))))
            (if (and
                  (setq ent1 (entget name1))
                  (= (cdr (assoc 2 ent1)) "$TelecSys$00000095")
                )
              (setq num (car (mapcar
                               'vla-get-textstring
                               (vlax-safearray->list
                                                     (vlax-variant-value
                                                                         (vla-getattributes
                                                                                            (vlax-ename->vla-object name1)
                                                                         )
                                                     )
                               )
                             )
                        )
              )
            )
          )
        )
        (setq name1 (vlax-ename->vla-object name))
        (setq Color (vla-get-Color name1))
        (if (= Color 5)
          (setq lst2 (cons (list num "蓝色" long) lst2))
        )
        (if (= Color 256)
          (setq lst1 (cons (list num "红色" long) lst1))
        )
      )
      (setq lst1 (vl-sort lst1 (function (lambda (x y)
                                           (< (car x) (car y))
                                         )
                               )
                 )
      )
      (setq lst2 (vl-sort lst2 (function (lambda (x y)
                                           (< (car x) (car y))
                                         )
                               )
                 )
      )
      (princ "\n  lst1 = ")
      (princ lst1)
      (princ "\n  lst2 = ")
      (princ lst2)
    )
  )
  (princ)
)





点评

别懒啊,把表也搞出来啥  发表于 2012-7-7 19:25
回复

使用道具 举报

 楼主| 发表于 2012-2-19 23:37:54 | 显示全部楼层
本帖最后由 zhengchuan 于 2012-2-21 00:39 编辑
langjs 发表于 2012-2-19 23:15
编了一个不成熟的程序仅供参考,数据统计出来了,至于如何画表,自己搞定吧,我懒得搞了
(defun c:qq (/ c ...


LANGIS大师,能不能达到下面几个要求:
1)那个线不限图层和线形以及种类。
2)颜色不局限于红和蓝
3)最主要的我是想要线数n的线(按颜色区分)的总长度。
回复

使用道具 举报

发表于 2012-2-20 09:44:04 | 显示全部楼层
正需要 顶一下
回复

使用道具 举报

 楼主| 发表于 2012-2-21 01:01:18 | 显示全部楼层
顶一下啦!
回复

使用道具 举报

 楼主| 发表于 2012-2-21 09:25:21 | 显示全部楼层
早上画图的空隙再顶一下。那个统计出来的长度如何合计呢,这是我最关心的。
自己水平太差,希望大家帮帮忙拉
回复

使用道具 举报

发表于 2012-2-21 10:25:24 | 显示全部楼层
lsp不会,arx有兴趣?
回复

使用道具 举报

 楼主| 发表于 2012-2-21 13:02:17 | 显示全部楼层
luowy 发表于 2012-2-21 10:25
lsp不会,arx有兴趣?

,我还是想要lsp的。,是不是没追求啊?
回复

使用道具 举报

发表于 2012-2-21 16:17:35 | 显示全部楼层
zhengchuan 发表于 2012-2-19 23:37
LANGIS大师,能不能达到下面几个要求:
1)那个线不限图层和线形以及种类。
2)颜色不局限于红和蓝

大师不敢当,只会三脚猫。
还是没有人帮你弄啊?你加我QQ吧,59509100,把你想要什么样的详细交流交流,我要是有时间帮你弄
回复

使用道具 举报

 楼主| 发表于 2012-2-21 21:51:47 | 显示全部楼层
langjs 发表于 2012-2-21 16:17
大师不敢当,只会三脚猫。
还是没有人帮你弄啊?你加我QQ吧,59509100,把你想要什么样的详细交流交流, ...

太感谢Langjs 啦
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 03:17 , Processed in 0.213346 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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