laoliu09 发表于 2005-1-4 13:43:00

又是一个问题!请指教啊!谢了!

我选了一点,怎么判断我选的这点周围有没有被其他的闭合图元包围???就像CAD的填充功能一样,通过用户选的点判断周围有没有可填充的区域!

雪山飞狐_lzh 发表于 2005-1-4 14:17:00

做成面域求交

laoliu09 发表于 2005-1-4 15:36:00

我接触开发cad的时间不长,怎样做成面域求交呢?对了,面域的作用是什么啊?
谢了!

laoliu09 发表于 2005-1-5 08:59:00

怎么没人回答啊!?到底应该怎样做啊?谢了!

laoliu09 发表于 2005-1-5 11:58:00

老师、斑竹来帮帮我啊!

雪山飞狐_lzh 发表于 2005-1-5 14:50:00

Private 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

laoliu09 发表于 2005-1-5 22:16:00

飞狐老师,这个函数好像要一个面域对象做参数吧?但问题是我根本不知道我选的点周围有没有可形成面域的图形!我不是要判断点是否在面域内,而是要判断点周围有没有可形成面域的图形!有办法吗?谢了!

sieben 发表于 2005-1-6 00:21:00

加入一个足够远的点使用object.SelectByPolygon acSelectionSetFence PointsList
选择集内封闭且交点为一个或交点数为单则存在可形成面域的图形

laoliu09 发表于 2005-1-6 17:09:00

给几行代码好吗?谢谢啊!

雪山飞狐_lzh 发表于 2005-1-6 19:13:00

可能形成面域的图形:圆/椭圆/Spline/Pline
用选择集过滤一下
页: [1]
查看完整版本: 又是一个问题!请指教啊!谢了!