线路长度总和?
在autocad 2009中,有没有办法选择某个图层上的所有线,并让autocad汇总该图层上这些线的总长度? 我有一个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以按层进行选择。 啊,那太好了,伙计,现在我需要提高一点。我现在需要的是一种方法,让它自动选择簇内的所有多边形线,并测量所选簇中的总长度。(我相信有点像microstations的“Fan”。) 错误的分区所。 线程在AutoLisp论坛中移动。
非常感谢。 我使用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 ~我必须学习一些ARX或C++。。。
我理解你吗?该程序是否创建边界,然后计算这些边界内所有柱脚的长度?不管普林线是否跨越了人造边界?如果是这样,那太好了!
页:
[1]
2