用vba能完成boundary的功能吗?
用vba能完成boundary的功能吗?ACAD没有直接提供这个函数
ACAD虽然没有直接提供这个函数,但是可以通过SendCommand来执行ACAD的内部命令。或者如果自己的很强的图形基础知识的话,也可以编一个处理边界的函数,因为Boundary本身也是基于这种技术的。版竹,请问SendCommand如何写参数
版竹,请问SendCommand如何写参数这是以前写的函数,可以参考一下。
Public Function Boundary(ByVal Point As Variant) As AcadLWPolylineOn Error Resume Next
Dim PrevTotal As Long
PrevTotal = ThisDrawing.ModelSpace.Count
ThisDrawing.SetVariable "NOMUTT", 1 '禁止不确定的消息反馈
ThisDrawing.SendCommand "_-boundary" & vbCr & Point(0) & "," & Point(1) & vbCr & vbCr '调用BOUNDARY命令获取一点的边界
ThisDrawing.SetVariable "NOMUTT", 0 '恢复普通模式的消息反馈
If ThisDrawing.ModelSpace.Count.Count > PrevTotal Then
Set Boundary = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)
End If
End Function
当Boundary为Nothing时表示没有生成边界,这时点不在多边形内部,如果生成边界时,不需要这条多义线(如仅是判断点是否在多边形内部),应该用Delete方法删除边界。
页:
[1]