明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2340|回复: 5

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

[复制链接]
发表于 2011-4-6 20:42 | 显示全部楼层 |阅读模式
两个闭合多线段相交,怎么知道它相交了多少如图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2011-4-6 21:09 | 显示全部楼层
所谓 多少 指的是面积 or ??  !?
 楼主| 发表于 2011-4-6 21:26 | 显示全部楼层
是的,是面积。
发表于 2011-4-6 22:19 | 显示全部楼层
回复 nameld001 的帖子

没有容错处理
  1. (defun c:tt(/ ss en1 en2 s1 s2 s3 endent)
  2.   (if (and
  3.   (setq en1 (car (entsel "\n第一个多段线:")))
  4.   (setq en2 (car (entsel "\n第二个多段线:")))
  5.   )
  6.     (progn
  7.       (command "undo" "be")
  8.       (setq s1 (vla-get-area (vlax-ename->vla-object en1))
  9.             s2 (vla-get-area (vlax-ename->vla-object en2))
  10.             )
  11.       (setq endent (entlast))
  12.       (command "region" en1 en2 "")
  13.       (setq ss (ssadd))
  14.       (while (setq endent (entnext endent))
  15.         (ssadd endent ss)
  16.         )
  17.       (setq endent (entlast))
  18.       (command "intersect" ss "")
  19.       (if (not (equal endent (entlast)))
  20.         (progn
  21.           (setq s3 (vla-get-area (vlax-ename->vla-object (entlast))))
  22.           (princ (strcat "\n交集占第一个多段线" (rtos (* 100 (/ s3 s1)) 2 2) "%"))
  23.           (princ (strcat "\n交集占第二个多段线" (rtos (* 100 (/ s3 s2)) 2 2) "%"))
  24.           )
  25.         )
  26.       (command "undo" "e")
  27.       (command "u")
  28.       )
  29.     )
  30.   (princ)
  31.   )
 楼主| 发表于 2011-4-6 22:28 | 显示全部楼层
谢谢版主。
发表于 2015-6-7 12:06 | 显示全部楼层
新人学习中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-20 15:25 , Processed in 0.191743 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表