我如何用l计算面积
1、计算总红线面积2、红柱脚总面积/黑柱脚总面积
如何使用lisp计算面积?
测验图纸
红色总面积值除以黑色面积值?-->0.238058?? 或者反过来?4.20066 ??
(defun c:demo ( / _total ss ssd TareaRed TareaBlack ComputedArea)
(defun _total (sel / Value)
(repeat (setq i (sslength sel))
(setq Value (cons (vlax-curve-getarea (ssname sel (setq i (1- i)))) Value)))
(apply '+ Value)
)
(defun _Rtos (v)(rtos v 2 2))
(if (and(princ "\nSelect RED pline(s)")
(setq ss (ssget '((0 . "LWPOLYLINE"))))
(princ "\nSelect Black pline")
(setq ssD (ssget '((0 . "LWPOLYLINE"))))
)
(progn
(setq TareaRed (_total ss))
(setq TareaBlack (_total ssd))
(setq ComputedArea ( / TareaRed TareaBlack))
(alert (strcat "\nTotal area for RED pline(s): " (_rtos TareaRed )
"\nTotal area for BLACK pline(s): " (_rtos TareaBlack )
"\nTotal RED divided by BLACK: " (_rtos ComputedArea)
"\nPercentage: "(_rtos (* 100.00ComputedArea)) "%"))
)
)
(princ)
)
谢谢
0.238058是正确的。
这个lisp很好,但该层不在CSM中,因此无法使用。
它可以更改不锁定任何图层名称或颜色吗?
当然,只需从代码中删除(8,“CSM”)。您还需要添加哪些其他条件?除数总是一个实体吗? 太棒了现在可以使用了。
可能有什么百分比吗?
不,除数并不总是一个实体。它能更新吗?
谢谢:)
你怎么得到Rain0923的百分比?给我看看,这样就不会有混乱了
对 它显示0.238058和23.81%。。。
谢谢
代码更新:Post#2 很抱歉更新在哪里??
张贴#2此线程。在那里↑
页:
[1]
2