fuqua 发表于 2022-7-6 14:20:11

线路长度总和?

在autocad 2009中,有没有办法选择某个图层上的所有线,并让autocad汇总该图层上这些线的总长度?

phobos 发表于 2022-7-6 14:27:59

我有一个Lisp程序,但我不记得我在哪里得到它。

(defun C:TLEN (/ ss tl n ent itm obj l)
(setq ss (ssget)
       tl 0
       n (1- (sslength ss)))
(while (>= n 0)
   (setq ent (entget (setq itm (ssname ss n)))
         obj (cdr (assoc 0 ent))
         l (cond
             ((= obj "LINE")
               (distance (cdr (assoc 10 ent))(cdr (assoc 11 ent))))
             ((= obj "ARC")
               (* (cdr (assoc 40 ent))
                  (if (minusp (setq l (- (cdr (assoc 51 ent))
                                       (cdr (assoc 50 ent)))))
                  (+ pi pi l) l)))
             ((or (= obj "CIRCLE")(= obj "SPLINE")(= obj "POLYLINE")
                  (= obj "LWPOLYLINE")(= obj "ELLIPSE"))
               (command "_.area" "_o" itm)
               (getvar "perimeter"))
             (T 0))
         tl (+ tl l)
         n (1- n)))
(alert (strcat "Total length of selected objects is " (rtos tl)))
(princ)
)

 
编辑:必须有人更改代码上的selectionset以按层进行选择。

fuqua 发表于 2022-7-6 14:29:17

啊,那太好了,伙计,现在我需要提高一点。我现在需要的是一种方法,让它自动选择簇内的所有多边形线,并测量所选簇中的总长度。(我相信有点像microstations的“Fan”。)

fuqua 发表于 2022-7-6 14:36:06

错误的分区所。

fuccaro 发表于 2022-7-6 14:39:20

线程在AutoLisp论坛中移动。

fuqua 发表于 2022-7-6 14:42:04

 
非常感谢。

VVA 发表于 2022-7-6 14:47:24

我使用Alexandr Rivilis GeomProps实用程序。
http://www.maestrogroup.com.ua/support/GeomProps.zip
在命令行中键入ARX,然后在GeomProps2006上加载和拾取。arx,如果使用Autocad 2006或GeomProps2007。arx如果使用Autocad 2007-2009。现在添加了适用于AutoCad 2010 x86和x64的arx
批评性评论:
俄语原文:http://www.caduser.ru/forum/index.php?PAGE_NAME=read&FID=44&TID=36136

VVA 发表于 2022-7-6 14:53:28

这里可能是多段线的总长度

Lee Mac 发表于 2022-7-6 14:55:39

 
非常好的VVA ~我必须学习一些ARX或C++。。。

fuqua 发表于 2022-7-6 15:02:41

 
我理解你吗?该程序是否创建边界,然后计算这些边界内所有柱脚的长度?不管普林线是否跨越了人造边界?如果是这样,那太好了!
页: [1] 2
查看完整版本: 线路长度总和?