两个闭合多线段相交,怎么知道它相交了多少
两个闭合多线段相交,怎么知道它相交了多少如图 所谓 多少 指的是面积 or ??!? 是的,是面积。 回复 nameld001 的帖子没有容错处理
(defun c:tt(/ ss en1 en2 s1 s2 s3 endent)
(if (and
(setq en1 (car (entsel "\n第一个多段线:")))
(setq en2 (car (entsel "\n第二个多段线:")))
)
(progn
(command "undo" "be")
(setq s1 (vla-get-area (vlax-ename->vla-object en1))
s2 (vla-get-area (vlax-ename->vla-object en2))
)
(setq endent (entlast))
(command "region" en1 en2 "")
(setq ss (ssadd))
(while (setq endent (entnext endent))
(ssadd endent ss)
)
(setq endent (entlast))
(command "intersect" ss "")
(if (not (equal endent (entlast)))
(progn
(setq s3 (vla-get-area (vlax-ename->vla-object (entlast))))
(princ (strcat "\n交集占第一个多段线" (rtos (* 100 (/ s3 s1)) 2 2) "%"))
(princ (strcat "\n交集占第二个多段线" (rtos (* 100 (/ s3 s2)) 2 2) "%"))
)
)
(command "undo" "e")
(command "u")
)
)
(princ)
)
谢谢版主。 新人学习中
页:
[1]