在CAD中如何获得弧的中点坐标
<P>在CAD中关于弧的要素,有弧度和起点及终点坐标,但是没有中点坐标,请问如何获得,如果要计算出坐标,有没有现成的算法,精度是多少~~~~~~</P><P>求助,帮忙</P> 我也是新手,不过可这样做,将圆心与弧的起点和终点用直线连上,再作构造线中二等分与弧有一交点。输LI查看,当中就显示了弧中点的坐标,精度就看你的需要,可在标注样式中设置精度 也可这样:绘图————点————定数等分————2等分,后输LI,框选对象,可看到弧中点的坐标,精度高度同上 <P>多谢,但是我还是没能按照你们的方法做出来,可不可以再详细些~~</P>
<P> </P> <P>楼主是想用VBA实现此功能吧。可以按以下方法实现</P>
<P>VBA中的ARC对象包含startpoint,endpoint,center,totalangle等属性。首先求出弧所包含的弦的中点,然后计算自中心至弦中点的角度值(自X轴起),利用polarpoint方法求出弧的中点(注意:当弧所包含的角度大于180度时,应计算自弦中点至中心的线段的角度),实现程序如下:</P>
<P>Public Sub middlearc()<BR>Dim myarc As AcadArc<BR>Dim pt1 As Variant, pt2 As Variant, ptcent As Variant, pnt As Variant, ptint As Variant<BR>Dim starang As Double, endang As Double, midang As Double, totalang As Double, radiu As Double<BR>Dim util As Object<BR>Dim mospace As AcadModelSpace<BR>Dim ptxmid(0 To 2) As Double</P>
<P>Set mospace = ThisDrawing.ModelSpace<BR>Set util = ThisDrawing.Utility</P>
<P>util.GetEntity myarc, pnt, "请选择圆弧"<BR>'以下获得各属性<BR>pt1 = myarc.StartPoint: pt2 = myarc.EndPoint: ptcent = myarc.center: radiu = myarc.Radius<BR>starang = myarc.StartAngle: endang = myarc.EndAngle: totalang = myarc.TotalAngle<BR>'计算弦中点<BR>ptxmid(0) = (pt1(0) + pt2(0)) / 2#: ptxmid(1) = (pt1(1) + pt2(1)) / 2#<BR>'获得自中心至弦中点线段的角度<BR>midang = util.AngleFromXAxis(ptcent, ptxmid)<BR>'当弧所包含的角度大于180度时,获得自弦中点至中心的线段角度<BR>If totalang > 3.1415926 Then<BR> midang = util.AngleFromXAxis(ptxmid, ptcent)<BR> End If<BR>'计算弧的中点<BR>ptint = util.PolarPoint(ptcent, midang, radiu)</P>
<P>msgbox "弧中点坐标为:X=“ & ptint(0) & " " & "Y=" & ptint(1)<BR>'将中点用点进行标记<BR>Set ptsign = mospace.AddPoint(ptint)</P>
<P>End Sub</P> 多谢多谢啊~~~ 好,学习了 经典,正需要这个下来研究下
页:
[1]