nameld001 发表于 2011-4-6 20:42:13

两个闭合多线段相交,怎么知道它相交了多少

两个闭合多线段相交,怎么知道它相交了多少如图

Andyhon 发表于 2011-4-6 21:09:44

所谓 多少 指的是面积 or ??!?

nameld001 发表于 2011-4-6 21:26:17

是的,是面积。

Gu_xl 发表于 2011-4-6 22:19:40

回复 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)
)

nameld001 发表于 2011-4-6 22:28:12

谢谢版主。

ltrliu 发表于 2015-6-7 12:06:15

新人学习中
页: [1]
查看完整版本: 两个闭合多线段相交,怎么知道它相交了多少