如何实现在AUTOCAD中的 直线上任取一点,可以得到点的坐标,和该直线与x坐标的夹角
请问,如何用VBA实现在AUTOCAD中的 直线上任取一点,可以得到点的坐标,和该直线与x坐标的夹角?谢谢啊 --------------------编程问答-------------------- 在cad中选择直线后,就得到了直线对象,点坐标可以直接得到,根据直线两点可以计算与x坐标的夹角。 --------------------编程问答-------------------- 都是很好的建议! 值得学习 --------------------编程问答-------------------- 关于你说的直线与X轴的夹角,我想直线有一个Angle的属性,就是你要的东西。此外。有这样一个方法可以取得你说的直线上任意一点的具体坐标。
答案就是 极坐标
代码例子:
Sub Example_PolarPoint()
' This example finds the coordinate of a point that is a given
' distance and angle from a base point.
Dim polarPnt As Variant
Dim basePnt(0 To 2) As Double
Dim angle As Double
Dim distance As Double
basePnt(0) = 2#: basePnt(1) = 2#: basePnt(2) = 0#
angle = 0.1744444 ' 45 degrees
distance = 5
polarPnt = ThisDrawing.Utility.PolarPoint(basePnt, angle, distance)
' Create a line from the base point to the polar point
Dim lineObj As AcadLine
Set lineObj = ThisDrawing.ModelSpace.AddLine(basePnt, polarPnt)
ZoomAll
End Sub
返回值 polarPnt 就是你要的东西。
补充:VB , VBA