中华钢结构论坛 China Structure Forum                                              XinY structural consultants ltd

 
怎么统计线段的长度
非洲白种人






积分 28
帖子 27
2013-1-22 16:56    顶部


请帮我编写一个.lsp的命令,通过这个命令,然后框取要统计的线段(包括多段线),然后能够分别统计出这些线段的x向、y向的总长度和线段的总长度。
独角斗士






积分 3031
帖子 1335
2013-1-22 21:14    顶部
建议你有时间学习一下lsp,象这个程序其实不难的,直线能够取出端部坐标,自然很简单,多段线稍微复杂些,要取出它各个定义点,坐标差值的绝对值总和就是x向、y向的总长度,线段的总长度更简单了。
自己用自己编,这是最好的。因为自己知道重点在哪,程序不考虑普遍性就十分精简。而其他人编,就会考虑程序的普遍性,程序会很复杂。
当然,只是建议。
NTFP






积分 75
帖子 51
2016-3-15 15:13    顶部
帮你编写了一个lsp:
(defun c:WW (/ ss i lenx leny len et na pta ptb x1 x2 y1 y2 ptlist)
  (setq ss (ssget '((0 . "LINE,LWPOLYLINE"))))
  (setq i 0 lenx 0 leny 0 len 0)
  (repeat (sslength ss)
    (setq et(entget(ssname ss i)))
    (setq na (cdr(assoc 0 et)))
    (cond ((= na "LINE")
           (progn
            (setq pta(cdr(assoc 10 et)))
            (setq x1(car pta) y1(cadr pta))         
            (setq ptb(cdr(assoc 11 et)))
            (setq x2(car ptb) y2(cadr ptb))
            (setq lenx(+ lenx(abs (- x1 x2))))
            (setq leny(+ leny(abs (- y1 y2))))
            (setq len(+ len(distance pta ptb)))
           )
          )
         ((= na "LWPOLYLINE")
          (progn
           (setq ptlist (mapcar 'cdr (vl-remove-if '(lambda(x)(/= (car x) 10)) et)))
           (repeat (1- (length ptlist))
             (setq pta (nth 0 ptlist) ptb (nth 1 ptlist))
             (setq x1(car pta) y1(cadr pta))
             (setq x2(car ptb) y2(cadr ptb))
             (setq lenx(+ lenx(abs (- x1 x2))))
             (setq leny(+ leny(abs (- y1 y2))))
             (setq len(+ len(distance pta ptb)))            
             (setq ptlist(cdr ptlist))
           )
          )
         )
     )
   (setq i (1+ i))
   )
   (princ(strcat "\nX向投影和:"(rtos lenx 2 2) ",""Y向投影和:"(rtos leny 2 2)",""总长为"(rtos len 2 2)"。"))
   (princ)
)
NTFP 修改于2016-03-15 15:16
chinagaofeng (一切坏的刚刚好!)






积分 852
帖子 651
2016-4-26 14:35    QQ 顶部
上传几个自己收集的直线长度统计的小工具,希望对大家有所帮助
统计线段长度.rar ( 2.26 K) 下载次数 9
ngmxf






积分 258
帖子 236
2016-6-8 16:07    QQ 顶部
常青藤软件可以做到,统计n多线段长度和
 


上海市通信管理局
沪ICP备020910
联系我们 版权声明 发帖规则 论坛制度 关于我们
版权所有.中华钢结构论坛.永久保留所有权利

[Processing Time] User:0.28, System:0.03, Children of user:0, Children of system:0