明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5040|回复: 25

怎么求多段线与多段线相交部分的面积

  [复制链接]
发表于 2012-9-18 10:56:47 来自手机 | 显示全部楼层 |阅读模式
两个多段线相交后有一部分重合区域,如何求这个重合区域的面积呢,求教高手们!
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-9-18 12:22:49 | 显示全部楼层
先以 boundary 取得 重合区域
再以 Area 取得 该区域的面积
 楼主| 发表于 2012-9-18 13:05:13 来自手机 | 显示全部楼层
Andyhon 发表于 2012-9-18 12:22  先以 boundary 取得 重合区域  再以 Area 取得 该区域的面积

你好,我是想在代码中实现,那问题就出来了,怎么用代码确定重合区域的内部一点呢?
发表于 2012-9-18 13:24:40 | 显示全部楼层
 楼主| 发表于 2012-9-18 13:35:40 来自手机 | 显示全部楼层
Andyhon 发表于 2012-9-18 13:24  得依对象的复杂而定.  Ref:  http://bbs.mjtd.com/thread-10311-1-1.html

非常感谢,我研究下!
 楼主| 发表于 2012-9-18 17:18:59 来自手机 | 显示全部楼层
已解决,先将两多段线转为面域,再用intersect求值即可!

点评

不能光是来明经索求,没有回报明经!自己解决了,何不将自己的方法发上来与明经会员分享?独乐乐,不如与众乐乐!这样才有利于论坛的发展!  发表于 2012-9-18 17:36
 楼主| 发表于 2012-9-18 17:54:06 | 显示全部楼层
changyiran 发表于 2012-9-18 17:18
已解决,先将两多段线转为面域,再用intersect求值即可!

听G版的就把自己写的发上来,还望各位指教!
  1. (defun chmj(en1 en2 / EN MJ VLA);求多段线重合部分的面积
  2.   (command"region"en1"")
  3.   (setq en1(entlast))
  4.   (command"region"en2"")
  5.   (setq en2(entlast))
  6.   (command"intersect"en1 en2"")
  7.   (setq en(entlast))
  8.   (setq vla(vlax-ename->vla-object en))
  9.   (setq mj(vla-get-area vla));重合部分面积
  10.   (entdel en)
  11.   mj
  12. )

 楼主| 发表于 2012-9-18 20:06:48 来自手机 | 显示全部楼层
这段代码当创建的面域是空的时候面积就是错的,因此要用代码确定创建的是不是空面域,这一点不知道怎么实现啊

点评

使用VLA方法创建面域,配合vl-catch-all-apply函数捕捉错误!  发表于 2012-9-18 20:23
发表于 2012-9-18 20:45:08 | 显示全部楼层
得 验证 组码0 之值 ...

or 先作验证
(vlax-property-available-p (vlax-ename->vla-object en1) 'area)
 楼主| 发表于 2012-9-18 22:17:26 来自手机 | 显示全部楼层
Andyhon 发表于 2012-9-18 20:45  得 验证 组码0 之值 ...   or 先作验证

老师你好,我请教下,你用的这个property函数是什么意思啊,还有参数为什么要是en1呢?请老师赐教,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-26 03:14 , Processed in 0.237497 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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