岳阳楼答答团吧 关注:1,350贴子:10,630
  • 11回复贴,共1

cad如何在一个图层内查询多条线段长度总和

只看楼主收藏回复


一个简单的源代码,测试后可以修改编辑让它更符合你的要求:
(princ "\n程序:统计线段长度 命令:xkbuild")
(defun C:xkbuild (/ CURVE TLEN SS N SUMLEN)
(vl-load-com)
(setq SUMLEN 0)
(setq SS (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC"))))
(setq N 0)
(repeat (sslength SS)
(setq CURVE (vlax-ename->vla-object (ssname SS N)))
(setq TLEN (vlax-curve-getdistatparam CURVE (vlax-curve-getendparam CURVE)))
(setq SUMLEN (+ SUMLEN TLEN))
(setq N (1+ N))
)
(princ (strcat "\n共选择 " (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) " ."))
(princ)
)
将以上代码复制在记事本内后“另存为”→“统计线段长度.lsp”
打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件
按命令提示“程序:统计线段长度 命令:xkbuild”
输入命令xkbuild选择要统计长度的线段即可。
附:我的命令行操作提示
命令:
命令: appload
已成功加载 统计线段长度.lsp。
命令:
程序:统计线段长度 命令:xkbuild命令:
命令:xkbuild选择对象: 指定对角点: 找到 4 个
选择对象:
共选择 4 条线段. 线段总长: 1623.294.


IP属地:湖南1楼2011-08-20 15:08回复
    大牛啊...真的可以...膜拜


    IP属地:湖北3楼2013-06-25 19:08
    回复
      2025-05-31 19:23:49
      广告
      真的可以用呀,太牛了!!膜拜!!


      4楼2014-02-19 11:22
      回复
        膜拜!!!!!!!!!!!


        IP属地:四川5楼2014-03-07 10:40
        回复
          试过了,太牛了,简单方便


          6楼2014-04-23 10:31
          回复
            非常好!谢谢楼主!膜拜。。腻害腻害!!


            8楼2016-07-05 10:18
            回复
              太牛逼了!!!!


              9楼2017-03-09 11:45
              回复
                吊吊吊,可以自己修改命令名字


                IP属地:湖北11楼2021-05-18 22:32
                回复
                  2025-05-31 19:17:49
                  广告
                  高版还能用,真是高手高高手


                  12楼2021-08-23 16:38
                  回复
                    666


                    来自Android客户端13楼2021-08-31 13:42
                    回复