明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2853|回复: 10

如何获得离已知点最近的实体,包括文字,直线,多段线,块,参照等等所有类型的实体

  [复制链接]
发表于 2012-11-16 13:04:11 | 显示全部楼层 |阅读模式
RT,.net是否有提供相应的方法获得点到实体的距离,没有的话有什么替代方法?最好能有代码示例
发表于 2012-11-16 14:13:16 | 显示全部楼层
本帖最后由 sieben 于 2012-11-16 14:15 编辑

1,没有
2,要每个实体过一遍看哪个离点最近
3,不过却是可以通过选择的方式看看改点上有没有实体(也即距离是0或接近0,不过这要求是可视范围内哦)
 楼主| 发表于 2012-11-16 14:41:16 | 显示全部楼层
sieben 发表于 2012-11-16 14:13
1,没有
2,要每个实体过一遍看哪个离点最近
3,不过却是可以通过选择的方式看看改点上有没有实体(也即距 ...

第二点如何实现。
发表于 2012-11-16 16:47:38 | 显示全部楼层
呵呵,要靠你自己想办法了。
发表于 2012-11-16 23:00:05 | 显示全部楼层
如果对象太多的话,选择的方式可能会更快
发表于 2012-11-17 23:02:15 | 显示全部楼层
之前也写过一个类似的程序(程序在三楼): http://bbs.mjtd.com/forum.php?mo ... mp;page=1#pid548987
发表于 2012-12-2 23:39:53 | 显示全部楼层
一个简单的想法是,递增画圆,求交点?如果在a的时候没有交点,在b的时候有多余两个的交点,就要在这个区域继续细分,你看怎么样?反正我一时还想不出更好的法子了
 楼主| 发表于 2012-12-3 18:30:46 | 显示全部楼层
楼上真有心,谢谢啦,后面就是这样解决的。
发表于 2012-12-4 14:26:07 | 显示全部楼层
要每个实体过一遍看哪个离点最近
发表于 2012-12-23 12:43:20 | 显示全部楼层
你们都说错了。你要引用brep dll,然后使用brep.findclosetpoint(pt,cpt),要先将实体转换为brep,先将曲线转换为curve。犀牛软件中命令有closet点,但是SDK并未暴漏出来,不过我们可以使用强大的进化算法计算器去求zz
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 16:26 , Processed in 0.191469 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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