ssaqibh 发表于 2014-1-1 11:36:59

VBA:单击选择两条多段线

我有两个折线与一个共同的部分。Wi
**** Hidden Message *****

n.yuan 发表于 2014-1-2 11:22:02

对于VBA代码,有两种方法可以做到这一点,正如我所想:
1.使用您可能已经使用的GetEntity()。获取第一条多段线后,可以将其与图形中的所有其他多段线进行比较(当然,可以通过创建一个选择集来缩小要比较的多段线的范围,该选择集带有一个围绕拾取点进行选择的小窗口)。由于2条多段线共享一个公共线段,因此两条多段线上必须有2个相等的顶点。
2.使用GetPoint()拾取捕捉到公共线段的点。然后创建一个临时AcadPoint对象,并使用IntersectWith()查找2条多段线
为了让事情变得更简单,您可以使用AcadSelectionSet.SelectOnScreen()吗?

Cathy 发表于 2014-1-2 15:43:52

我已经使用了AcadSelectionSet。选择AtPoint可执行类似操作。没有理由先执行GetEntity。我不知道你的SelectaPoint为什么不总是成功。也许您需要将osnap设置设置为SelectAtPoint之前的最近值?
页: [1]
查看完整版本: VBA:单击选择两条多段线