Sage. 发表于 2012-11-16 13:04:11

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

RT,.net是否有提供相应的方法获得点到实体的距离,没有的话有什么替代方法?最好能有代码示例

sieben 发表于 2012-11-16 14:13:16

本帖最后由 sieben 于 2012-11-16 14:15 编辑

1,没有
2,要每个实体过一遍看哪个离点最近
3,不过却是可以通过选择的方式看看改点上有没有实体(也即距离是0或接近0,不过这要求是可视范围内哦)

Sage. 发表于 2012-11-16 14:41:16

sieben 发表于 2012-11-16 14:13 static/image/common/back.gif
1,没有
2,要每个实体过一遍看哪个离点最近
3,不过却是可以通过选择的方式看看改点上有没有实体(也即距 ...

第二点如何实现。

sieben 发表于 2012-11-16 16:47:38

呵呵,要靠你自己想办法了。

logoin 发表于 2012-11-16 23:00:05

如果对象太多的话,选择的方式可能会更快

chpmould 发表于 2012-11-17 23:02:15

之前也写过一个类似的程序(程序在三楼): http://bbs.mjtd.com/forum.php?mod=viewthread&tid=96394&page=1#pid548987

cdinten 发表于 2012-12-2 23:39:53

一个简单的想法是,递增画圆,求交点?如果在a的时候没有交点,在b的时候有多余两个的交点,就要在这个区域继续细分,你看怎么样?反正我一时还想不出更好的法子了

Sage. 发表于 2012-12-3 18:30:46

楼上真有心,谢谢啦,后面就是这样解决的。

hn_zhwang 发表于 2012-12-4 14:26:07

要每个实体过一遍看哪个离点最近

huaxiamengqing 发表于 2012-12-23 12:43:20

你们都说错了。你要引用brep dll,然后使用brep.findclosetpoint(pt,cpt),要先将实体转换为brep,先将曲线转换为curve。犀牛软件中命令有closet点,但是SDK并未暴漏出来,不过我们可以使用强大的进化算法计算器去求zz
页: [1] 2
查看完整版本: 如何获得离已知点最近的实体,包括文字,直线,多段线,块,参照等等所有类型的实体