怎样获得点到曲线的垂足
请问在vba中怎样获得一个点到一条曲线的垂足,以进一步获取点到该曲线的最短距离 可使用vlax 类和curve类模块来解决:Sub GetClosestPoint()
'ThisDrawing.SendCommand "(vl-load-com)" & vbCrLf
'定义引用曲线类模块
Dim ObjCurve As Curve
Set ObjCurve = New Curve
'获取曲线
Dim Pnt As Variant
Dim Ent As AcadEntity
ThisDrawing.Utility.GetEntity Ent, Pnt, "选择曲线:"
'亮显刚选定的曲线以方便捕捉曲线上的点
Ent.Highlight True
'捕捉曲线上的一个点
Pnt = ThisDrawing.Utility.GetPoint(, "选择曲线外的一点:")
'通过曲线类模块获取曲线距离选取点最近的点
Set ObjCurve.Entity = Ent
Dim ClosestPnt As Variant
ClosestPnt = ObjCurve.GetClosestPointTo(Pnt)
'显示曲线长度
MsgBox "曲线上距离选取点最近的点坐标为:" & vbCrLf & vbCrLf & ClosestPnt(0) & "," & ClosestPnt(1) & "," & ClosestPnt(2), , "明经通道VBA示例"
'取消曲线的亮显
Ent.Highlight False
'释放变量
Set ObjCurve = Nothing
End Sub
好好好 请教明总:
在您所给例中,
Dim ObjCurve As Curve
Set ObjCurve = New Curve
Curve在VBA对象模型中找不到,这是为什么?
可使用vlax 类和curve类模块来解决
老师,你并没有提供这两个类模块啊,电脑运行错误
页:
[1]