qkdgx 发表于 2005-3-25 20:19:00

[VBA]如何连续画同心圆?

autocad一次只能画一个圆,如何编程实现输入半径连续的画同心圆?

王咣生 发表于 2005-3-25 21:26:00

reply

在一个循环中让半径值在一定范围内递增或递减,在同一圆心处画就可以了?

qkdgx 发表于 2005-3-25 23:41:00

可能是我没有说得明白吧,是交互的画,输入一个半径就画一个,直到结束该命令,就像CAXA中的画圆命令。请哪位高手指点一下,最好也能把程序传上来看一下,谢谢了!

王咣生 发表于 2005-3-26 00:07:00

回复

写了一段:


Sub test()<BR>                       On Error GoTo ERRORHANDLER<BR>                       Dim returnPnt As Variant<BR>                       returnPnt = ThisDrawing.Utility.GetPoint(, "选择圆心位置: ")<BR>                       <BR>                       Dim returnReal As Double<BR>                       Dim circleObj As AcadCircle<BR>                       <BR>                       returnReal = ThisDrawing.Utility.GetReal("输入圆半径: ")<BR>                       <BR>                       While returnReal &gt; 0<BR>                                                       Set circleObj = ThisDrawing.ModelSpace.AddCircle(returnPnt, returnReal)<BR>                                                       returnReal = ThisDrawing.Utility.GetReal("输入圆半径: ")<BR>                       Wend<BR>                       <BR>                       Exit Sub<BR>ERRORHANDLER:<BR>'                       MsgBox Err.Description<BR>End Sub

qkdgx 发表于 2005-3-26 00:35:00

版主果然厉害,谢谢了!不过这个功能好像不是很完善,开始选圆心的时候不能用捕捉来选择圆心,移动鼠标的时候看不见圆大小的变化,看来还要改善一下才能写进autocad的标准去。

zfbj 发表于 2005-3-26 11:02:00

用SendCommand方法发送Multiple命令吧,VBA本身不能实现拖动的效果。

qkdgx 发表于 2005-3-26 12:56:00

SendCommand方法发送Multiple        是如何用的?
页: [1]
查看完整版本: [VBA]如何连续画同心圆?