singlegu 发表于 2006-6-3 08:08:00

使用AddArc方法画圆弧的问题

<P>各位大虾:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我使用AddArc画圆弧,只能画在XY平面或是与XY平面平行,请问如何画在YZ平面或XZ平面中啊</P>

xinghesnak 发表于 2006-6-3 08:47:00

其实他不是总和XY平面平行的,如果你在增加圆弧之前先将用户坐标系转到YZ平面(你想要的平面上),你会发现程序画出的圆弧也相应的转换过来了。。。。。。所以说AddArc函数和用户坐标系有关,你只要之前改到你想要的平面上就行了!

singlegu 发表于 2006-6-3 10:10:00

<P>那请问用哪个函数可以改啊</P>
<P>&nbsp;</P>

xinghesnak 发表于 2006-6-3 10:44:00

<P>sendcommand发送ucs命令,然后就自定义呗!</P>

singlegu 发表于 2006-6-4 15:18:00

<P>大哥,是不是在画之前,先转换坐标,再画弧,我程序如下,可画出来的圆弧还是和XY平面平行的,能帮我看看哪里错了吗</P>
<P>Sub example_Arc()<BR>&nbsp;&nbsp;&nbsp; ThisDrawing.SendCommand "UCS" &amp; vbCr &amp; "N" &amp; vbCr &amp; "X" &amp; vbCr &amp; "90" &amp; vbCr<BR>&nbsp;&nbsp;&nbsp; Dim arcObj As AcadArc<BR>&nbsp;&nbsp;&nbsp; Dim centerPoint(0 To 2) As Double<BR>&nbsp;&nbsp;&nbsp; Dim radius As Double<BR>&nbsp;&nbsp;&nbsp; Dim startAngleInDegree As Double<BR>&nbsp;&nbsp;&nbsp; Dim endAngleInDegree As Double<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; centerPoint(0) = 50<BR>&nbsp;&nbsp;&nbsp; centerPoint(1) = 0<BR>&nbsp;&nbsp;&nbsp; centerPoint(2) = 50<BR>&nbsp;&nbsp;&nbsp; radius = 50<BR>&nbsp;&nbsp;&nbsp; startAngleInDegree = 90#<BR>&nbsp;&nbsp;&nbsp; endAngleInDegree = 180#<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; Dim startAngleInRadian As Double<BR>&nbsp;&nbsp;&nbsp; Dim endAngleInRadian As Double<BR>&nbsp;&nbsp;&nbsp; startAngleInRadian = startAngleInDegree * 3.141592 / 180#<BR>&nbsp;&nbsp;&nbsp; endAngleInRadian = endAngleInDegree * 3.141592 / 180#</P>
<P>&nbsp;&nbsp;&nbsp; Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius, startAngleInRadian, endAngleInRadian)</P>
<P>End Sub<BR></P>

xinghesnak 发表于 2006-6-5 11:50:00

<P>不是啊,你用完你的程序确实还是和坐标系一致,是XY面,可是现在用的坐标系是用户坐标系,是你自己建的.你切换到世界坐标系下看看,就看到是XZ面了........</P>

singlegu 发表于 2006-6-5 19:20:00

<P>大哥,不是很明白你的意思,可以告诉我是缺了哪一步吗</P>

xinghesnak 发表于 2006-6-6 08:48:00

<P>就是说你运行完程序后再恢复到世界坐标系下看看,应该和你想要的结果一致的!</P>
页: [1]
查看完整版本: 使用AddArc方法画圆弧的问题