littlerain 发表于 2005-4-20 13:50:00

关于autocadVBA开发精彩实例教程6.2节螺栓模型

各位大侠,


能否帮忙看下此书中6.2螺栓模型程序,在创建六边形这一部分,有个set objpline=addpolygon(ptcen,6,7.5) ,调试过程中,说没有addpolygon()这个函数,难道在vba中没有这个函数的吗?应该怎么解决这个问题?请帮忙啊!万分感谢!

yulijin608 发表于 2005-4-20 15:54:00

addpolygon()可能是自己定义的一个函数,你在6.2节前后仔细找找,哪个地方可能有这个函数吧.

littlerain 发表于 2005-4-20 16:52:00

我找了,没有的。请问有此函数的vb代码吗?谢谢了啊!

yulijin608 发表于 2005-4-20 17:25:00

我都找到了,代码如下:


'创建正多边形<BR>Public Function AddPolygon(ByVal ptCen As Variant, ByVal number As Integer, ByVal radius As Double, _<BR>                       Optional width As Double = 0, Optional angle As Double = 0) As AcadLWPolyline<BR>                       '定义动态数组<BR>                       Dim objPline As AcadLWPolyline<BR>                       Dim ptArr() As Double<BR>                       '顶点的个数为number,需要2*number个元素来表示<BR>                       ReDim ptArr(2 * number - 1)<BR>                       <BR>                       '每条边对应的角度<BR>                       Dim ang As Double<BR>                       ang = 2 * PI / number<BR>                       <BR>                       '为点的坐标数组赋值<BR>                       Dim i As Integer<BR>                       For i = 0 To 2 * number - 1<BR>                                                       If i Mod 2 = 0 Then<BR>                                                                                       ptArr(i) = ptCen(0) + radius * Cos((i \ 2) * ang)<BR>                                                       ElseIf i Mod 2 &lt;&gt; 0 Then<BR>                                                                                       ptArr(i) = ptCen(1) + radius * Sin((i \ 2) * ang)<BR>                                                       End If<BR>                       Next i<BR>                       <BR>                       '创建多段线,并调整其特性<BR>                       Set objPline = AddLWPline(ptArr, width)<BR>                       objPline.Closed = True<BR>                       objPline.Rotate ptCen, angle<BR>                       objPline.Update<BR>                       <BR>                       Set AddPolygon = objPline<BR>End Function<BR>

littlerain 发表于 2005-4-20 18:22:00

谢谢啊,在书上哪呢~?

littlerain 发表于 2005-4-20 18:38:00

不对啊,我调试了,在AddLWPline(ptArr, width)       处调试不通,没有这个函数,难道这个也不是vba自带的么?需要自行编写?

littlerain 发表于 2005-4-20 19:40:00

程序已经能够运行出来了,可是图象不对,不是如书上所示的螺栓图象,可完全是按照书上的程序运行啊?

littlerain 发表于 2005-4-20 19:50:00

哪位高手能不能帮忙看一下下,


图象是


http://sxszjzx.com/~c18/1.bmp

littlerain 发表于 2005-4-20 19:53:00

图象是


www.sxszjzx.com/~c18/2.bmp

zfbj 发表于 2005-5-23 23:55:00

问题是否已经解决?
页: [1] 2
查看完整版本: 关于autocadVBA开发精彩实例教程6.2节螺栓模型