qhq0309 发表于 2005-5-16 17:33:00

[求助]怎样判断一点在多边形内

请大家帮个忙,怎样判断一点在多边形内,我要做一个开发,急用,谢谢!

雪山飞狐_lzh 发表于 2005-5-16 23:24:00

用该多边形生成面域,再用下面的函数判断function PointInRegion(ByVal TlsRegion, ByVal Point) As Boolean
'判断点是否在面域内
       Dim pCopy As AcadRegion, pRegion As AcadRegion
       Dim pobjs(0) As AcadEntity
       Set pCopy = TlsRegion.Copy
       Set pobjs(0) = pWorkSpace.AddCircle(Point, 0.0001)
       Set pRegion = pWorkSpace.AddRegion(pobjs)(0)
       pRegion.Boolean acIntersection, pCopy
       If pRegion.Area > 0 Then PointInRegion = True
       pRegion.Delete
       pobjs(0).Delete
      
End Function

qhq0309 发表于 2005-5-21 12:05:00

版主您好,


谢谢您给我的帮助,我还有一点不明白,因为我是一个初学者,我不懂怎样生成面蜮。


我还有另外一个问题想问您:


怎样选择一个层上的所有对象,并且把它的属性全部读出来。


谢谢

cbse_smy 发表于 2005-5-21 13:17:00

生成面域可以用thisdrawing.modelspace.addregion方法,选中某一层中所有对象可先关闭其它层然后再创建选择集然后选择所有对象即可,遍历选择集可得每一个对象的属性

qhq0309 发表于 2005-5-23 19:44:00

谢谢这位大哥

qhq0309 发表于 2005-5-23 19:55:00

能问雪山飞狐 版主 的电话吗?


我是中国石油大学的学生,我有一些问题想问您,急!


<BR>
页: [1]
查看完整版本: [求助]怎样判断一点在多边形内