明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4013|回复: 11

[求助]如何统计线的长度之和?

  [复制链接]
发表于 2008-12-23 21:47:00 | 显示全部楼层 |阅读模式

选中若干直线和多义线,自动计算出所有线的长度之和,并给出结果

不知道有没有这样的程序?

以前我自己统计直线的长度和的时候,就用了很笨的方法,就是每根线用两点坐标之差的平方和来计算出长度

也不知道有没有别的方法

而且我对多义线的长度就完全不知道怎么求

所以想请高手做个这样的程序,同时可以对直线和多义线的长度统计求和?

谢谢大家先

预祝圣诞快乐!

发表于 2008-12-23 22:11:00 | 显示全部楼层
  1. (DEFUN c:tt (/ ss loop num len)
  2.   (SETVAR "CMDECHO" 0)
  3.   (PROMPT "\n选择需要计算长度的直线或多段线:")
  4.   (SETQ ss  (SSGET '((0 . "*LINE,ARC,CIRCLE,ELLIPSE")))
  5.   loop (IF (NULL ss)
  6.       0
  7.       (SSLENGTH ss)
  8.     )
  9.   num  -1
  10.   len  0
  11.   )
  12.   (REPEAT loop
  13. (COMMAND "._LENGTHEN" (SSNAME ss (SETQ num (1+ num))) "")
  14. (SETQ len (+ len (GETVAR "PERIMETER")))
  15.   )
  16.   (PRINC (STRCAT "\n" (ITOA loop) "个对象总长 = " (RTOS len 2 5)))
  17.   (PRINC)
  18. )
复制代码
就简单点写个吧
发表于 2008-12-24 15:23:00 | 显示全部楼层

(defun c:len( / i len n ss)
 (setq ss (ssget) i -1 len 0)
 (repeat (sslength ss)
  (setq n (vlax-ename->vla-object (ssname ss (setq i (1+ i)))))
  (setq len (+ len (vlax-curve-getDistAtParam n (vlax-curve-getEndParam n))))
 )
 len
)

任意线的

 楼主| 发表于 2008-12-24 20:05:00 | 显示全部楼层

太谢谢两位大侠了!

非常有用的程序啊

发表于 2008-12-27 21:50:00 | 显示全部楼层

很早以前写了一个这方面的程序,看看能用不:)

c:\11.gif

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-12-28 11:46:00 | 显示全部楼层

再次谢谢各位了!

我想再提一个请求!希望各位把程序深化一下

就是当线和线有重叠的时候,重叠部分的长度不重复计算,只算一次长度

不知道是否可以做到这个功能?

谢谢大家!

发表于 2008-12-28 13:34:00 | 显示全部楼层
可以用ET中的FLATTEN命令消去重线后再计算。
 楼主| 发表于 2008-12-28 19:27:00 | 显示全部楼层
ZZXXQQ发表于2008-12-28 13:34:00可以用ET中的FLATTEN命令消去重线后再计算。

我是希望能够仍然保持原来的线不变

比如2个矩形,一个400X2000,一个400X6000

Y方向坐标都一样,水平段有重叠1000

我希望得到400X4+(2000+6000-1000)X2=15600这样的结果

希望最后还是原来的2个矩形,不想这2个矩形变成别的东西

 楼主| 发表于 2008-12-30 22:53:00 | 显示全部楼层

希望高手有时间的话,考虑一下我的想法

谢谢

发表于 2011-6-9 11:08:11 | 显示全部楼层
回复 ZZXXQQ 的帖子

也可以用ET中的OVERKILL
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-10 04:07 , Processed in 0.174905 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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