|
发表于 2004-2-29 17:26:00
|
显示全部楼层
EFAN2000的这个程序给你参考一下:
Sub test()
' 当前图纸的实体数目
Dim n As Long
n = ThisDrawing.ModelSpace.Count
' 调用BOUNDARY命令获取某一点处的边界
Dim Pt As Variant
Pt = ThisDrawing.Utility.GetPoint(, "指定内部点: ")
ThisDrawing.SendCommand "_-Boundary" & vbCr & Pt(0) & "," & Pt(1) & vbCr & vbCr
' 如果存在边界,则会生成新的实体
Dim lwpLineObj As AcadLWPolyline
If ThisDrawing.ModelSpace.Count > n Then
Set lwpLineObj = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)
' 如果面积相等,则点在闭合多段线的内部
If Format(lwpLineObj.Area, "0.0000") = 762.9872 Then ' 762.9872为测试数据,可以换成其它的。
MsgBox "点在闭合多段线的内部"
End If
lwpLineObj.Delete
End If
End Sub
|
|